Android如何对字符串列表排序

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” 列表[

我有一个关于这类值的列表:

列表[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” 列表[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;”部分,然后使用剩余的整数进行排序。