在一些集合中,存放数据可能不是按一定顺序来进行存放。在要求按一定规则进行排序输出时,这时就需要对集合进行重排。
重排有相应几种方法:
实现Comparator接口,重写comparable方法
这个方法要求创建一个比较器,实现Comparator接口。
以ArrayLIst集合为例:
创建如下实体类:
创建一个比较器,按实体类的年龄降序排序:
其测试类为
其中,调用Collections中的sort()方法,传入集合,和比较器。其执行结果为:
当然也可以采用匿名Comparator内部类的形式来传入比较器。更加方便。
在实体类中,继承Compare接口并重写compareTo()方法
创建测试类:
其结果为:
如图所示:同样达到相应排序的要求。
注意:在以hashMap相似的数据结构中,是不能够对数据进行排序的。如HashMap集合 HashSet集合等。