Ich möchte eine Zeichenkette in JAVA alphabetisch sortieren, wie folgt Großbuchstabe und Kleinbuchstabe folgte AaBbCcDdEeFfGg. zum Beispiel, wenn ich AbaC setzen mich zurück AabC danke !!wie man eine Zeichenkette alphabetisch sortiert java
Antwort
Sie können dies tun Arrays.sort
verwenden, wenn Sie die Zeichen in ein Feld setzen. (Es muss ein Array von Character
Objekten anstatt char
Primitiven sein, um ein benutzerdefiniertes Groß- und Kleinschreibung Komparator zu verwenden.)
// put the characters into an array
Character[] chars = new Character[str.length()];
for (int i = 0; i < chars.length; i++)
chars[i] = str.charAt(i);
// sort the array
Arrays.sort(chars, new Comparator<Character>() {
public int compare(Character c1, Character c2) {
int cmp = Character.compare(
Character.toLowerCase(c1.charValue()),
Character.toLowerCase(c2.charValue())
);
if (cmp != 0) return cmp;
return Character.compare(c1.charValue(), c2.charValue());
}
});
// rebuild the string
StringBuilder sb = new StringBuilder(chars.length);
for (char c : chars) sb.append(c);
str = sb.toString();
Dadurch werden UTF-16-Surrogate geteilt. –
Drehen Sie die Zeichenfolge in ein Zeichenarray und vergleichen Sie dann die int-Werte jedes Zeichens in Ihrer Sortierung.
Methoden benötigt: String.toCharArray();
Sie versuchen, für Collections.sort aussehen kann und dann so versuchen: -
Collections.sort(caps, String.CASE_INSENSITIVE_ORDER);
Etwas wie folgt aus: -
private static Comparator<String> ALPHA_ORDER = new Comparator<String>() {
public int compare(String str1, String str2) {
int x = String.CASE_INSENSITIVE_ORDER.compare(str1, str2);
if (x== 0) {
x= str1.compareTo(str2);
}
return x;
}
};
Collections.sort(list, ALPHA_ORDER);
EDIT: -
Für alphabetisch in einer Zeichenfolge versuchen, wie diese Sortierung: - erste
Collator col = Collator.getInstance(new Locale("en", "EN"));
String s = "AbaC";
String[] s1= s.split("");
Arrays.sort(s1, col);
String sorted = "";
for (int i = 0; i < s1.length; i++)
{
sorted += s1[i];
}
System.out.println(sorted);
OP möchte Zeichen in Strings sortieren, nicht eine Liste von Strings. – Boann
Um die Zeichenfolge in einer Liste von Zeichen zu drehen, das ist der triviale Teil. –
@Boann: - Meine Antwort aktualisiert. Hoffe das macht es besser? –
- 1. Knockout alphabetisch sortiert
- 2. Wie man strings.xml in Android Studio alphabetisch sortiert
- 3. Wie man einen Ruby Hash alphabetisch nach Schlüsseln sortiert
- 4. Wie behalte ich ein Hashset alphabetisch sortiert?
- 5. Wie man Zeilen einer Zeichenkette in Swift sortiert?
- 6. Eine Zeichenkette in Java formatieren
- 7. Rhino: Wie man eine Zeichenkette von Java zu Javascript zurückbringt?
- 8. Wie erstelle ich ein Objekt aus einer Zeichenkette in Java (wie man eine Zeichenkette auswertet)?
- 9. Sortierung alphabetisch in Java
- 10. Wie man eine Liste nach Typ sortiert?
- 11. wie man eine Formauswahl in d3 sortiert
- 12. awk - Sortiere eine Zeichenkette alphabetisch und entferne Duplikate innerhalb der Zeichenkette
- 13. Wie entkomme ich eine Zeichenkette in Java?
- 14. Wie sortiert man JTable alphabetisch nach Anfangsbuchstaben? [siehe Bild zur Verdeutlichung]
- 15. SQL-Abfrage, die alle Ergebnisse außer einem alphabetisch sortiert?
- 16. Artikel zu einer Liste hinzugefügt, aber nicht alphabetisch sortiert
- 17. Wie vergleicht man eine Zeichenkette mit EOF?
- 18. Wie erstellt man eine formatierte lokalisierte Zeichenkette?
- 19. Wie man Anführungszeichen in eine Zeichenkette einbezieht
- 20. Wie man eine Zeichenkette mit php
- 21. Extjs wie dekodiert man eine JSON-Zeichenkette?
- 22. Wie man eine Zeichenkette aus StringTokenizer
- 23. Wie teilt man eine Zeichenkette mit "-" Schlüsselwort?
- 24. Wie konvertiert man eine Zeichenkette in Matlab?
- 25. Wie man Zitate mit BibTeX nach Erscheinungsbildern sortiert?
- 26. wie Sie eine Zeile alphabetisch in Codezeichen einfügen
- 27. Wie man Dateien in Linux umkehrt und sortiert?
- 28. wie man iphone Kontaktbuch sortiert?
- 29. Bestellliste alphabetisch
- 30. Python - Wie man Sphinx-Ausgabe nicht in alphabetischer Reihenfolge sortiert
Es ist zu früh für neue Jahre wünscht, bis zu diesem Zeitpunkt werden Sie einige zeigen müssen Anstrengung. Was hast du bisher versucht? –