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.