对包含带数字的字符串的Arraylist进行排序

Zac*_*ack -1 java sorting arraylist

我有一个由字符串组成的ArrayList.这个ArrayList包含......

"60分钟""120分钟""30分钟"

如果我使用Collections.sort(ArrayList);它首先导致"120分钟".这是因为"120"中的"1"明显小于"30"中的"3"

有没有一种简单的方法可以对这个ArrayList进行排序,使其显示为......

"30分钟""60分钟""120分钟"

rge*_*man 7

定义您自己的实现类Comparator<String>.在该compare方法中,从字符串参数的第一部分中提取数字并比较它们,如果第一个数字小于,等于或大于第二个数字,则返回-1,0或1.

然后你可以传递比较器的实例(以及你的ArrayList)Collections.sort.