Ordina una stringa in Java
-
Usa il metodo
Array.sort()
per ordinare una singola stringa in Java -
Usa il cicli
for
per ordinare una singola stringa in Java
Questo articolo tutorial mostra come ordinare una singola stringa in Java.
L’ordine più comune utilizzato è l’ordine alfabetico. L’ordinamento è il processo di conversione dei dati in un formato standard e di creazione di un formato leggibile dall’uomo.
Esistono due modi per ordinare una singola stringa in Java come segue.
- Metodo
Array.sort()
- Metodo definito dall’utente
Usa il metodo Array.sort()
per ordinare una singola stringa in Java
Una stringa non è modificabile in Java, il che significa che la stringa non può essere modificata in memoria se un oggetto stringa è stato creato una volta. Inoltre, non possiamo accedere a un singolo carattere in una stringa.
Possiamo usare il metodo Array.sort()
per ordinare una singola stringa in Java. La classe string non ha un metodo di ordinamento. Quando si ordina la stringa, l’idea principale è convertire la stringa data in un array di caratteri utilizzando il metodo toCharArray()
. Quindi, usiamo il metodo Arrays.sort()
per ordinare quell’array.
L’esempio di ordinamento di una singola stringa utilizzando il metodo Arrays.sort()
è il seguente.
import java.util.Arrays;
public class StringSorting {
public static void main(String args[]) {
String STR = "java";
char[] StringtoChar = STR.toCharArray();
Arrays.sort(StringtoChar);
String SortedString = new String(StringtoChar);
System.out.println("The Unsorted String is : " + STR);
System.out.println("The Sorted String is : " + SortedString);
}
}
Produzione:
The Unsorted String is : java
The Sorted String is : aajv
Nel codice sopra, creiamo una stringa che memorizza java
al suo interno. Dopo averlo convertito in un array di caratteri usando il metodo toCharArray()
, ordiniamo l’array di caratteri convertito usando Arrays.sort
e trasformiamo l’array ordinato in una stringa.
Usa il cicli for
per ordinare una singola stringa in Java
Possiamo ordinare un singolo array usando il cicli for
e confrontare l’elemento con l’altro in ogni iterazione. Ma come sappiamo, non possiamo accedere a un singolo carattere in una stringa per convertire quella stringa in un array di caratteri. Quindi iteriamo l’array di caratteri utilizzando due cicli per confrontare ogni elemento con l’altro elemento.
L’esempio di ordinamento di una singola stringa utilizzando il metodo Definito dall'utente
è il seguente.
import java.util.Arrays;
public class StringSorting {
public static void main(String args[]) {
String STR = "java";
char[] StringtoChar = STR.toCharArray();
for (int i = 0; i < (StringtoChar.length - 1); i++) {
for (int j = i + 1; j > 0; j--) {
if (StringtoChar[j] < StringtoChar[j - 1]) {
char Temp = StringtoChar[j - 1];
StringtoChar[j - 1] = StringtoChar[j];
StringtoChar[j] = Temp;
}
}
}
String SortedString = new String(StringtoChar);
System.out.println("The Unsorted String is : " + STR);
System.out.println("The Sorted String is : " + SortedString);
}
}
Produzione:
The Unsorted String is : java
The Sorted String is : aajv
Nel codice sopra, creiamo una stringa che memorizza java
al suo interno.
Usiamo due cicli for
qui. Il primo bucle serve per iterare la matrice di caratteri e il secondo bucle evita la ripetizione in confronto. Se la condizione (StringtoChar[j]<StringtoChar[j-1]
) è vera all’interno del secondo bucle, esegue lo scambio e ordina l’array.