我有一个包含这种值的列表:
list [0] =“myvalue_8” list [1] =“myvalue_9” list [2] =“myvalue_15” list [3] =“myvalue_12”
当我按照那样排序我的列表时:
Collections.sort(myList);
结果是:
list [0] =“myvalue_12” list [1] =“myvalue_15” list [2] =“myvalue_8” list [3] =“myvalue_9”
而不是:
list [0] =“myvalue_8” list [1] =“myvalue_9” list [2] =“myvalue_12” list [3] =“myvalue_15”
非常感谢
答案 0 :(得分:1)
使用Comparator
。在那里,您可以定义要比较的内容以及如何在compare()
方法中定义从两个实例返回的内容。以下是String
Comparator
的示例。
Comparator<String> myComparator = new Comparator<String>() {
public int compare(final String user1, final String user2) {
// This would return the ASCII representation of the first character of each string
return (int) user2.charAt(0) - (int) user1.charAt(0);
};
};
然后你只需拨打Collections.sort(myList, myComparator);