Java 按字母顺序然后按数字顺序排序元素
快速提问,假设我有一个由主机名或IP组成的节点列表/集合。我现在想按字母顺序对它们排序,然后按数字排序,所以考虑使用.sort()调用是正确的方法吗 只需实现一个Java 按字母顺序然后按数字顺序排序元素,java,sorting,Java,Sorting,快速提问,假设我有一个由主机名或IP组成的节点列表/集合。我现在想按字母顺序对它们排序,然后按数字排序,所以考虑使用.sort()调用是正确的方法吗 只需实现一个Comperator并使用Arrays.sort(),就像您假设的那样,您可以创建一个类 class Foo { int no; String val; } 及 Collections.sort(listOfFoo,newcomparator(){public int compare(Foo f1,Foo f2){ //你的逻辑是这样
Comperator
并使用Arrays.sort()
,就像您假设的那样,您可以创建一个类
class Foo {
int no;
String val;
}
及
Collections.sort(listOfFoo,newcomparator(){public int compare(Foo f1,Foo f2){
//你的逻辑是这样的
}});
如果节点实现了java.lang.Compariable
,则可以定义自定义排序。如果无法更改/修改节点类,则可以实现java.util.Comparator
,并使用Collection.sort(列表,comparators不应该是compare()而不是compareTo())?@amit,yes混淆了Compariable
和Thisheers for help,只需使用call将arraylist重构为排序列表。>listname.SortedArray();Cheers for help,只需使用call将arraylist重构为排序列表。>listname.SortedArray();
Collections.sort(listOfFoo,new Comparator<Foo>(){public int compare(Foo f1, Foo f2){
//your logic goes here
}});