Java >> Java tutorial >  >> Tag >> String

Sorter streng i Java

Sortér streng i Java | Der er mange strengoperationer, hvor vi vil se, hvordan man sorterer en streng i Java, her samler vi strengelementer i et specificeret format stigende eller faldende. For at sortere strenge i java er der ingen indbygget metode, vi skal konvertere dem til tegn og sortere dem.

Sådan sorteres en streng i Java

Som nævnt ovenfor er der ingen indbygget metode til at sortere strenge i java, og anvender derfor andre metoder efter hinanden for at sortere strenge. Strenge er uforanderlige, det vil sige, at de ikke kan ændres, når de først er oprettet. Lad os i dette afsnit diskutere to metoder til at sortere strenge i Java.

  1. Med Arrays.sort()
  2. Uden Arrays.sort()

Først vil vi se, hvordan man sorterer en streng ved hjælp af Arrays.sort() metoden:-

1) Trin-1:- Import Arrays-klassen tilgængelig i Java.
2) Trin-2:Erklærer en metode til at sortere den givne streng ved hjælp af sort()-metoden, i denne metode konverterer vi strengen til tegn og derefter brug sort()-metoden til at sortere tegnet og returnere sorterede tegn.

public static String sortString(String string) {

   // convert string to char array
   char charArray[] = string.toCharArray();

   // sort char array
   Arrays.sort(charArray);

   // return after converting char array to string 
   return new String(charArray);
}

3) Trin 3:- I hovedmetoden tager vi en streng og kalder sortString() metoden og sender strengen som et argument og udskriver både streng og sorteret streng.

import java.util.Arrays;

public class Main {
   public static String sortString(String string) {
      char charArray[] = string.toCharArray();
      Arrays.sort(charArray);
      return new String(charArray);
   }

   public static void main(String[] args) {
      String string = "Know Program";
      String sortedString = sortString(string);
      System.out.println("Given String: " + string);
      System.out.println("Sorted String: " + sortedString);
   }
}

Output:

Given String:Know Program
Sorteret streng:KPagmnoorrw

Nu vil vi se, hvordan man sorterer uden at bruge Arrays.sort()-metoden. Trin til sortering af strenge uden at bruge en foruddefineret metode sort() :-

  1. Deklarer en int-variabel "k" og tildel 0. På samme måde skal du erklære en char-variabel og tildele 0 til den.
  2. Konverter den givne streng til tegnet ved hjælp af toCharArray() og læs alle elementerne ved at bruge nestet for loops.
  3. Hvis tegnet er større, så skift ved at bruge midlertidig variabel temp.
  4. Konverter sorteret char-array til streng.
public class Main {
   public static void main(String[] args) {
      String string = "Know Program";
      System.out.println("Given String: " + string);
      int k = 0;
      char temp = 0;
      char[] chars = string.toCharArray();
      for (int i = 0; i < chars.length; i++) {
         for (k = 0; k < chars.length; k++) {
            if (chars[k] > chars[i]) {
               temp = chars[i];
               chars[i] = chars[k];
               chars[k] = temp;
            }
         }
      }
      String sortedString = new String(chars);
      System.out.println("Sorted String: " + sortedString);
   }
}

Output:

Given String:Know Program
Sorteret streng:KPagmnoorrw

Sort String Array Java

Her vil vi sortere en række af arrays i både stigende og faldende rækkefølge.

Til dette først skal vi importere Arrays-klassen og Collections-klassen. Initialiser en strengmatrix til matrix[ ], brug Arrays.sort() til at sortere strengmatrixen i stigende rækkefølge, og brug Collections.reverseOrder() til at sortere i faldende rækkefølge. Print resultatet. For at vise arrayet kan vi bruge Arrays.toString() metoden.

import java.util.Arrays;
import java.util.Collections;

public class Main {
   public static void main(String[] args) {
      String array[] = { "program", "website", "know" };
      System.out.println("String Array: " + Arrays.toString(array));

      Arrays.sort(array);
      System.out.println("Ascending  Array: " + Arrays.toString(array));

      Arrays.sort(array, Collections.reverseOrder());
      System.out.println("Descending Array: " + Arrays.toString(array));
   }
}

Output:

String Array:[program, website, know]
Ascending Array:[know, program, website]
Descending Array:[website, program, know]

Sortér strengmatrix i Java ved hjælp af compareto

Vi vil sortere streng-arrayet ved hjælp af compareTo()-metoden.

import java.util.Arrays;

public class Main {
   public static void main(String args[]) {
      String[] language = 
          { "Kotlin", "JavaScript", "SQL", "Java", "Python" };
      for (int i = 0; i < language.length - 1; i++) {
         for (int j = i + 1; j < language.length; j++) {
            if (language[i].compareTo(language[j]) > 0) {
               String temp = language[i];
               language[i] = language[j];
               language[j] = temp;
            }
         }
      }
      System.out.println(Arrays.toString(language));
   }
}

Output:

[Java, JavaScript, Kotlin, Python, SQL]

Sorteringsliste over strenge Java

For at sortere en liste over strenge, sort() metoden tilgængelig i Collections class collections framework (java.util package).

import java.util.ArrayList;
import java.util.Collections;

public class Main {
   public static void main(String[] args) {
      ArrayList<String> list = new ArrayList<String>();
      list.add("Henry");
      list.add("Albert");
      list.add("Robert");
      list.add("Harry");
      list.add("Clove");
      Collections.sort(list);
      System.out.println(list);
   }
}

Output:

[Albert, nelliker, Harry, Henry, Robert]


Java tag