Possible Duplicate:
Sort ArrayList of custom Objects by property
我有一个字符串数组列表,其中包含以下字符串
Common Ruby Errors 45min
Rails for Python Developers lightning
Communicating Over Distance 60min
Accounting-Driven Development 45min
Woah 30min
Sit Down and Write 30min
现在我想根据每个字符串中提到的数字按降序对数组列表进行排序
即排序列表应该看起来像
Communicating Over Distance 60min
Common Ruby Errors 45min
Accounting-Driven Development 45min
Woah 30min
Sit Down and Write 30min
Rails for Python Developers lightning
谁能告诉我该怎么做?
最佳答案
正如 @Rohit 所建议的,你的任务是双重的
- 弄清楚如何提取您想要排序的属性(数字)
- 编写一个使用上述方法的
Comparator
并执行sortedList = Collections.sort( list , new YourComparator() )
这样的事情可能是可行的:
Comparator c = new Comparator<String>()
{
@Override
public int compare( String o1, String o2 )
{
return getNumber( o1 ).compareTo( getNumber( o2 ) );
}
private Integer getNumber( String str )
{
Pattern pattern = Pattern.compile("([0-9]+)");
Matcher matcher = pattern.matcher(str);
while ( matcher.find() ) { return Integer.parseInt( matcher.group( 1 ) ); }
return 0;
}
}
干杯,
关于java - 按降序对字符串的 ArrayList 进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12814049/