我是靠谱客的博主 深情小土豆,最近开发中收集的这篇文章主要介绍java 排序 比较器,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

排序中的比较器分为两种

1. 专门为对象创建一个比较器,一般用匿名内部类来创建

2.排序对象中实现Comparable接口  通过其compareTo方法

排序所用类对象

public class GeRenInfo
implements Comparable<GeRenInfo>{
private Integer sxny;//所属年月
@Override
public String toString() {
return "sxny=" + sxny ;
}
public GeRenInfo() {
super();
// TODO Auto-generated constructor stub
}
public int getSxny() {
return sxny;
}
public void setSxny(int sxny) {
this.sxny = sxny;
}
public GeRenInfo(Integer sxny) {
super();
this.sxny = sxny;
}
@Override
public int compareTo(GeRenInfo o) {
int sxny01=this.sxny;
int sxny02=o.sxny;
int i=0;
if(sxny01> sxny02){
i=1;
}else if(sxny01<sxny02){
i=-1;
}
return i;
}
}

排序操作(第一种方法)

public class UnitShow {
@Test
public void unitShow() {
//比较器
Comparator comparator=new Comparator<GeRenInfo>() {
@Override
public int compare(GeRenInfo o1, GeRenInfo o2) {
int sxny01=o1.getSxny();
int sxny02=o2.getSxny();
int i=0;
if(sxny01> sxny02){
i=1;
}else if(sxny01<sxny02){
i=-1;
}
return i;
}
};
GeRenInfo[] gryf=new GeRenInfo[]{
new GeRenInfo(201407),
new GeRenInfo(201410),
new GeRenInfo(201406),
};
List<GeRenInfo>
list=new ArrayList<GeRenInfo>();
list.add(new GeRenInfo(201407));
list.add(new GeRenInfo(201410));
list.add(new GeRenInfo(201406));
Collections.sort(list,comparator);//用比较器进行排序
System.out.println(list);
}

排序操作(第二种方法)

public class UnitShow {
@Test
public void unitShow() {
GeRenInfo[] gryf=new GeRenInfo[]{
new GeRenInfo(201407),
new GeRenInfo(201410),
new GeRenInfo(201406),
};
List<GeRenInfo>
list=new ArrayList<GeRenInfo>();
list.add(new GeRenInfo(201407));
list.add(new GeRenInfo(201410));
list.add(new GeRenInfo(201406));
Collections.sort(list);//不用比较器
System.out.println(list);
}

关于中文排序,官方给的排序并不是按首字母进行排序的:

待整理

 

最后

以上就是深情小土豆为你收集整理的java 排序 比较器的全部内容,希望文章能够帮你解决java 排序 比较器所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(45)

评论列表共有 0 条评论

立即
投稿
返回
顶部