そこで私がやろうとしていたのは、以前持っていた TreeMap を使用して、それをこのメソッドに適用し、それをセットに変換してマップ エントリ ループを通過させることです。私がやりたいことは、以前の TreeMap を反対の (反転した) TreeMap に反転することです
コードを実行すると、同等のエラーが発生します。これは、同等の方法を実装する必要があるということですか? arrayList を Integer に変換したので、同等のメソッドでサポートされると思いました。それとも、私のコードに問題があるだけですか
エラー: スレッド「メイン」の例外 java.lang.ClassCastException: java.util.ArrayList を java.lang.Comparable にキャストできません
概要: 当初、このプログラムの意図した目的は、テキスト ドキュメントから読み取り、すべての単語と単語が配置されている場所のインデックス/行を具体的に見つけるツリーマップを作成することでした。ここで、最もよく使用される単語を含む「トップ 10」リストを作成したいと考えています。整数値が順番に並べられ、文字列が続くように、ツリーマップを「反転」したかった
public static void getTopTenWords(TreeMap<String, ArrayList<Integer>> map) {
Set<Map.Entry<String, ArrayList<Integer>>> set = map.entrySet();
TreeMap<Integer, String> temp = new TreeMap<Integer, String>();
int count = 1;
for(Map.Entry<String, ArrayList<Integer>> entry : set){
if(temp.containsKey(entry.getValue())) {
Integer val = entry.getValue().get(count);
val++;
temp.put(val, entry.getKey());
}
else {
temp.put(entry.getValue().get(count), entry.getKey());
}
count++;
}
}