Rumah > Java > javaTutorial > Isih Rentetan dalam Java

Isih Rentetan dalam Java

王林
Lepaskan: 2024-08-30 15:32:11
asal
1119 orang telah melayarinya

Mengisih rentetan dalam Java ialah sesuatu yang bukan ciri Java terbina di mana kaedah langsung tersedia dalam pustaka Java untuk mengisih rentetan walaupun Java menyediakan teknik untuk mengisih tatasusunan elemen dengan menggunakan Arrays.sort. Menggunakan beberapa kaedah berbeza yang disediakan oleh perpustakaan Java, kami boleh mengisih dalam Java dengan mudah dan mengisih rentetan mempunyai pelbagai kes penggunaan yang berbeza dalam mana-mana aplikasi Java.

Mulakan Kursus Pembangunan Perisian Percuma Anda

Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain

Bagaimana untuk Mengisih Rentetan dalam Java Menggunakan Pelbagai Cara?

Ia mempunyai 2 teknik utama yang boleh digunakan oleh pembangun bergantung pada kes penggunaan.

  • Teknik 1: Menggunakan Array.sort().
  • Teknik 2: Menggunakan pembanding tersuai untuk mengisih rentetan dalam Java.
  • Teknik 3: Menggunakan ciri strim Java 8 bersama Strings.chars.

1. Teknik 1 – Menggunakan Array.sort()

Ini adalah teknik yang sangat mudah dan lurus ke hadapan. Cara kami mengisih tatasusunan elemen dalam Java dengan cara yang sama dan logik yang serupa akan digunakan.

Untuk melaksanakan teknik ini di bawah ialah langkah-langkah dan contoh untuk pengisihan ini:

  • Langkah 1: Dapatkan Rentetan input daripada pengguna dan tukar Rentetan input kepada Tatasusunan Aksara menggunakan kaedah Arrays.toCharArray() yang terdapat dalam java.util.Arrays
  • Langkah 2: Gunakan pengisihan semula jadi pada tatasusunan aksara yang baru dibuat ini menggunakan kaedah Arrays.sort yang juga terdapat dalam jar java.util.Arrays yang sama.
  • Langkah 3: Tukarkan tatasusunan aksara yang diisih ini kembali kepada rentetan menggunakan kelas rentetan Java dan simpan rentetan yang baru dibuat dalam objek rentetan kerana rentetan tidak boleh diubah

Contoh:

Kod:

import java.util.Arrays;
import java.util.Scanner;
public class SortString {
public static void main(String args[]) {
Scanner scanner = new Scanner(System.in);
System.out.println("Input String Value which should be sorted : ");
String inputString = scanner.nextLine();
char arrayOfCharacters[] = inputString.toCharArray(); // Step 1
Arrays.sort(arrayOfCharacters); // Step 2
String sortedString = new String(arrayOfCharacters); // Step 3
System.out.println("Before Sorting :  " + inputString);
System.out.println("After Sorting :  " + sortedString);
}
}
Salin selepas log masuk

Output:

Isih Rentetan dalam Java
Isih Rentetan dalam Java

Had:

  • Sebaik-baiknya ia dilakukan oleh rangka kerja Java menggunakan nilai ASCII bagi setiap aksara yang terdapat dalam rentetan.
  • Akibatnya, teknik ini harus digunakan hanya sekiranya pengisihan rentetan yang diperlukan adalah sensitif huruf besar yang bermaksud kerana nilai ASCII bagi aksara huruf besar adalah kurang daripada aksara huruf kecil maka pengisihan tidak akan sesuai sekiranya rentetan anda mempunyai kedua-duanya. aksara kes iaitu Rentetan bercampur.

Contoh:

Isih Rentetan dalam Java

Output:

Isih Rentetan dalam Java

2. Teknik 2 – Menggunakan pembanding tersuai

Teknik ini digunakan terutamanya apabila Rentetan input boleh terdiri daripada aksara campuran dengan huruf kecil dan juga huruf besar. Ini bukan teknik lurus ke hadapan seperti di atas dan memerlukan sedikit lagi pengekodan. Kami akan menggunakan teknik pengisihan tatasusunan yang sama yang disediakan oleh Java tetapi bersama-sama itu kami akan menggunakan pembanding yang akan membantu kami membandingkan setiap aksara dalam rentetan.

Untuk melaksanakan teknik ini di bawah ialah langkah-langkah dan contoh untuk jenis isihan rentetan ini dalam Java.

  • Langkah 1: Dapatkan rentetan input daripada pengguna dan tukar rentetan input kepada tatasusunan aksara menggunakan ciri Java untuk gelung.
  • Langkah 2: Gunakan pengisihan Java pada tatasusunan aksara yang baru dibuat ini menggunakan kaedah Arrays.sort bersama-sama dengan pembanding yang akan mengabaikan selongsong semasa pengisihan dan ini terdapat dalam jar java.util.Arrays yang sama.
  • Langkah 3: Tukarkan tatasusunan aksara yang diisih ini kembali kepada rentetan menggunakan kelas Java StringBuilder dan tidak perlu menyimpan rentetan yang baru dibuat dalam objek rentetan kerana StringBuilder boleh diubah.

Contoh:

Kod:

import java.util.Arrays;
import java.util.Scanner;
import java.util.Comparator;
public class SortString {
public static void main(String[] args)
{
Scanner scanner = new Scanner(System.in);
System.out.println("Input a String Value which should be sorted : ");
String inputString = scanner.nextLine();
Character arrayOfCharacters[] = new Character[inputString.length()];
for (int i = 0; i < inputString.length(); i++) {
arrayOfCharacters[i] = inputString.charAt(i); // Step 1
}
Arrays.sort(arrayOfCharacters, new Comparator<Character>(){  // Step 2
@Override
public int compare(Character c1, Character c2)
{
return Character.compare(Character.toLowerCase(c1),
Character.toLowerCase(c2));
}
});
StringBuilder outputString = new StringBuilder(arrayOfCharacters.length);
for (Character c : arrayOfCharacters)
outputString.append(c.charValue());  // Step 3
System.out.println("Before Sorting : " + inputString);
System.out.println("After Sorting considering casing: " + outputString.toString());
}
}
Salin selepas log masuk

Output:

Isih Rentetan dalam Java

Isih Rentetan dalam Java

Had:

  • Teknik pengisihan ini ialah cara yang ideal untuk melakukan pengisihan dalam Java dengan rentetan input boleh menjadi sebarang nilai dengan aksara besar dan kecil.
  • Tiada pengehadan seperti itu untuk teknik pengisihan ini tetapi ia adalah kod yang agak panjang untuk dilaksanakan.

3. Teknik 3 – Menggunakan ciri aliran Java 8 bersama kaedah Strings.chars

Teknik ini ialah teknik baharu dengan baris kod yang minimum dan menggunakan ciri Java 8 Stream bersama kaedah String.chars yang datang sebaris dengan Java 8 sahaja. Jadi pastikan apabila anda menggunakan teknik ini, aplikasi Java anda digunakan terutamanya apabila rentetan input boleh terdiri daripada aksara campuran dengan huruf kecil dan juga huruf besar. Ini bukan teknik lurus ke hadapan seperti di atas dan memerlukan sedikit lagi pengekodan. Kami akan menggunakan teknik pengisihan Array yang sama yang disediakan oleh Java tetapi bersama-sama itu kami akan menggunakan pembanding yang akan membantu kami membandingkan setiap aksara dalam rentetan.

Kesimpulan

Mengisih Rentetan dalam Java adalah sangat mudah dan dilengkapi dengan banyak pendekatan berbeza dan pembangun boleh menggunakan mana-mana daripada ini bergantung pada keperluan aplikasi. Ia berbeza daripada 2 kod pelapik untuk menulis kaedah baharu untuk mengisih dan juga membenarkan untuk mengisih rentetan dengan mengabaikan kes itu juga.

Atas ialah kandungan terperinci Isih Rentetan dalam Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan