ArrayListのList []を使って実装された隣接リストを持っています。私はArrayListsのサイズの降順でリストをソートしたい。私はComparatorを書くことでこれをやろうと考えていました...しかし、どうすればいいですか?またはこれはちょうど不可能であり、私は別の方法でそれを行う必要がありますか?配列リストではなく配列リストをソートする方法は?
Collections.sort(adjacency, new Comparator<ArrayList<Integer>()>() {
public int compare(ArrayList<Integer> p1, ArrayList<Integer> p2) {
return Integer.compare(p1.length, p2.length);
}
});
上のコードは機能していません。私は、ArrayList、List []、Listをコンパイラタイプとして試しました。リスト用のラッパークラスはありますか?申し訳ありませんが、これは教育を受けていないと聞こえるかもしれません。
List<Integer>[] adjacency;
adjacency = (List<Integer>[]) new List[size];
for (int i = 0; i < size; ++i) {
adjacency[i] = new ArrayList<Integer>();
}
はありがとう:
これは私が隣接リストを作った方法です。
'p1.length'を' p1.size() 'にするべきではありませんか?だからあなたは 'ArrayList'の配列を持っていて、' Collections.sort'を使って配列をソートしようとしています...? – MadProgrammer