Java 对复杂类型的ArrayList排序
我建立了一个班级:Java 对复杂类型的ArrayList排序,java,sorting,arraylist,Java,Sorting,Arraylist,我建立了一个班级: public class Couple<E,K> { E first; K second; Couple(E first, K second){ this.first = first; this.second = second; } public E getFirst(){ return first; } public K getSecond(){
public class Couple<E,K> {
E first; K second;
Couple(E first, K second){
this.first = first;
this.second = second;
}
public E getFirst(){
return first;
}
public K getSecond(){
return second;
}
}
公共类耦合{
E第一;K第二;
成对(E第一,K第二){
this.first=first;
这个秒=秒;
}
公共E getFirst(){
先返回;
}
公共K getSecond(){
返回第二;
}
}
和ArrayList
ArrayList a=ArrayList();
a=fillArray();
我想根据第二个整数元素的值对“a”进行排序。a.sort(new Comparator(){
a.sort(new Comparator<Couple<URL, Integer>>() {
public int compare(Couple<URL, Integer> a, Couple<URL, Integer> b) {
return a.second.compareTo(b.second); //assuming a.second is not null
}
});
公共整数比较(对a,对b){
返回a.second.compareTo(b.second);//假设a.second不为null
}
});
你喜欢这样吗
你的简单比较程序
class SimpleComparator implements Comparator<Couple<URL, Integer>> {
public int compare(Couple<URL, Integer> a, Couple<URL, Integer> b) {
return a.second.compareTo(b.second);
}
}
看一看:
class SimpleComparator implements Comparator<Couple<URL, Integer>> {
public int compare(Couple<URL, Integer> a, Couple<URL, Integer> b) {
return a.second.compareTo(b.second);
}
}
Collections.sort(a,new SimpleComparator()); // now a is sorted based on second value.