1

私は以下のコードを持っています

List<List1<String, String>> list1_a = Readafile(filename);

ファイル内のデータは次のとおりです

value 1    value 2        rank
      a    b              1
      a    c              2
      d    e              1
      d    c              4

ランクに従ってlist1_aをソートする必要があります

私は以下を試しました: Collections.sort(list1_a)しかし、私はそれが私を投げているエラーを理解することができません。更新:以下はエラーの説明です:

Bound mismatch: The generic method sort(List<T>) of type Collections is not applicable for the arguments (List<List1<String,String>>). The 
 inferred type List1<String,String> is not a valid substitute for the bounded parameter <T extends Comparable<? super T>>
4

1 に答える 1

4

これは、orを実装するオブジェクトCollections.sort(List<T>)のみを受け入れることを意味します。TComparatorComparable<T>List1<String,String>List<List1<String,String>>TList1<String,String>

のコンパレータを作成できますList1<String,String>。(つまり、を実装するクラスComparator<List1<String,String>>)このように

public class YourComparator implements Comparator<List1<String,String>>{

  public int compare(List1<String,String> o1, List1<String,String> o2){
    //implement this method
  }

}

次に、コレクションを次のように並べ替えます。

Collections.sort(list1_a, new YourComparator());
于 2013-05-22T18:41:12.497 に答える