java排序路由器接口列表
包含路由器接口的列表如下:-
GigabitEthernet 1/0, GigabitEthernet 1/1,GigabitEthernet 1/11, GigabitEthernet 1/10, GigabitEthernet 1/3`
现在我正在应用Collection.sort(list)
进行排序,但它会导致一个问题,排序方式如下:-
GigabitEthernet 1/0, GigabitEthernet 1/1, GigabitEthernet 1/10, GigabitEthernet 1/11, GigabitEthernet 1/3`
但在我们的案例中,它应该这样分类:-
GigabitEthernet 1/0, GigabitEthernet 1/1, GigabitEthernet 1/3, GigabitEthernet 1/10, GigabitEthernet 1/11`
如何在Java中实现这种排序
# 1 楼答案
使用Collections中的方法,该方法将comparator作为第二个参数(http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Collections.html#sort%28java.util.List,%20java.util.Comparator%29),并实现一个匿名comparator类,该类对排序进行正确的比较
# 2 楼答案
实现自己的comparator实例,并使用comparator调用
sort
方法:http://goo.gl/Zz13w比较器将控制排序顺序
# 3 楼答案
将字符串解析为
class
,并使用适当的Comparator
对该class
的列表进行排序差不多
这将使比较器更干净