私のプログラムではCollections sortメソッドを使用して文字列のArrayListを辞書的にソートする必要がありますが、各Stringには対応する整数値が別のArrayListに格納されています。整数値が正しい文字列にとどまるように、それらを同じように並べ替える必要があります。両方の値を保存する方が良い方法を知っていれば、私はすべて耳にします。Collections並べ替えて両方のArrayListを並べ替える
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);
}
}
}
}
数値的にまたは辞書的にソートしますか?しかし、おそらくあなたはマップにそれらを保存することができます。 – bradimus
Lexicograpically –
文字列から整数へのマップを使用し、次にキーをソートし、ソート順に値を引き出しますか? –