关于List的排序

如下是实现Comparator接口做的list排序。

需要实现接口的compare方法,并返回值。

具体返回值的含义,见如下代码注释。

private List sortWorkExpList(List list){
		Collections.sort(list, new Comparator(){
			@Override
            public int compare(UsrWorkExperience w1, UsrWorkExperience w2) {
                /*
                 * 负数代表左值小于右值,排在前面
                 * 正数代表左值大于右值,排在后面
					0代表左值等于右值,排在上面
                 */
                if(w1.getEndTime().after(w2.getEndTime())){
                    return -1;
                } 
                if(w1.getEndTime().equals(w2.getEndTime())&&
                		w1.getStartTime().after(w2.getStartTime())){
                	return -1;
                }
                if(w1.getEndTime().equals(w2.getEndTime())&&
                		w1.getStartTime().equals(w2.getStartTime())&&
                		w1.getDateTime().after(w2.getDateTime())
                		){
                	return -1;
                }
                return 1;
            }
        });
		return list;
	}

 

你可能感兴趣的:(JAVA)