Mein Programm muss die Sortiermethode Collections verwenden, um die ArrayList von Strings lexikographisch zu sortieren, aber jeder String hat einen entsprechenden ganzzahligen Wert, der in einer separaten ArrayList gespeichert ist. Ich möchte sie beide gleich sortieren, damit die Integer-Werte bei den richtigen Strings bleiben. Und wenn Sie einen besseren Weg kennen, um beide Werte zu speichern, bin ich ganz Ohr.Sammlungen Sortieren, um beide ArrayLists zu sortieren
public class a5p1b {
public static void main(String[] args) {
Scanner input = new Scanner(System.in).useDelimiter("[^a-zA-z]+");
// ArrayLists to store the Strings and the frequencies
ArrayList<String> lst = new ArrayList<String>();
ArrayList<Integer> intLst = new ArrayList<Integer>();
//loops through as long as there is user input
while (input.hasNext()) {
String str = input.next().toLowerCase();
// if the list already has the string it doesn't add it and it
// ups the count by 1
if (lst.contains(str)) {
int index = lst.indexOf(str);
intLst.set(index, intLst.get(index) + 1);
} else {
// if the word hasnt been found yet it adds it to the list
lst.add(str);
intLst.add(1);
}
}
}
}
Möchten Sie sie numerisch oder lexikografisch sortiert haben? Aber vielleicht könnten Sie sie in einer Karte speichern. – bradimus
Lexikographisch –
Verwenden Sie eine Zuordnung von Strings zu Ganzzahlen, sortieren Sie dann die Schlüssel und ziehen Sie die Werte in sortierter Reihenfolge heraus? –