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.
- Med Arrays.sort()
- 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() :-
- Deklarer en int-variabel "k" og tildel 0. På samme måde skal du erklære en char-variabel og tildele 0 til den.
- Konverter den givne streng til tegnet ved hjælp af toCharArray() og læs alle elementerne ved at bruge nestet for loops.
- Hvis tegnet er større, så skift ved at bruge midlertidig variabel temp.
- 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]