Ordina una stringa in Java

Abdul Mateen 12 ottobre 2023
  1. Usa il metodo Array.sort() per ordinare una singola stringa in Java
  2. Usa il cicli for per ordinare una singola stringa in Java
Ordina una 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.

Articolo correlato - Java String