Android如何对字符串列表排序
我有一个关于这类值的列表: 列表[0]=“myvalue_8” 列表[1]=“myvalue_9” 列表[2]=“myvalue_15” 列表[3]=“myvalue_12” 当我这样对列表排序时:Android如何对字符串列表排序,android,string,list,sorting,Android,String,List,Sorting,我有一个关于这类值的列表: 列表[0]=“myvalue_8” 列表[1]=“myvalue_9” 列表[2]=“myvalue_15” 列表[3]=“myvalue_12” 当我这样对列表排序时: Collections.sort(myList); 结果是: 列表[0]=“myvalue_12” 列表[1]=“myvalue_15” 列表[2]=“myvalue_8” 列表[3]=“myvalue_9” 而不是: 列表[0]=“myvalue_8” 列表[1]=“myvalue_9” 列表[
Collections.sort(myList);
结果是:
列表[0]=“myvalue_12”
列表[1]=“myvalue_15”
列表[2]=“myvalue_8”
列表[3]=“myvalue_9”
而不是:
列表[0]=“myvalue_8”
列表[1]=“myvalue_9”
列表[2]=“myvalue_12”
列表[3]=“myvalue_15”
非常感谢使用
比较器
。在这里,您可以定义要比较的内容以及如何比较,在compare()
方法中,您可以定义应该从两个实例返回的内容。下面是一个字符串
比较器
的示例
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);
};
};
Comparator myComparator=newcomparator(){
公共int比较(最终字符串user1,最终字符串user2){
//这将返回每个字符串的第一个字符的ASCII表示形式
返回(int)user2.charAt(0)-(int)user1.charAt(0);
};
};
然后您只需调用Collections.sort(myList,myComparator)代码>有关Alphanum算法的信息,请参阅。您可以随时删除字符串中的“myvalue_u2;”部分,然后使用剩余的整数进行排序。