java Comparator和Comparable应用
来源:互联网 发布:小智零食淘宝店 编辑:程序博客网 时间:2024/06/05 14:41
java的Comparator和Comparable
当需要排序的集合或数组不是单纯的数字型时,通常可以使用Comparator或Comparable,以简单的方式实现对象排序或自定义排序。
以下是使用Comparator对对象集合排序的一个例子
package test;import java.util.Comparator;public class Person {private String name;private int age;public Person() {}public Person(String name, int age) {this.name = name;this.age = age;}public static SortByAge getSortByAge(){return new SortByAge();}public static SortByName getSortByName(){return new SortByName();}/** * 定义一个静态内部类----排序器 * 也可以定义一个匿名内部类进行排序 * */public static class SortByAge implements Comparator<Person>{public int compare(Person o1, Person o2) {if(o1.getAge()>o2.getAge()){return 1;}else if(o1.getAge()==o2.getAge()){return 0;} return -1;}}/** * 定义一个静态内部类----第二个排序器 * */public static class SortByName implements Comparator<Person>{public int compare(Person o1, Person o2) {return o1.getName().compareTo(o2.getName());}}public String toString(){return "name:"+this.name+";age="+this.age;}/** * @return the name */public String getName() {return name;}/** * @return the age */public int getAge() {return age;}/** * @param name the name to set */public void setName(String name) {this.name = name;}/** * @param age the age to set */public void setAge(int age) {this.age = age;}}
/** * 对集合对象进行排序 */ @Test public void test3(){ Person t1 = new Person("丁晓宇", 21); Person t2 = new Person("赵四", 22); Person t3 = new Person("张三", 11); Person t4 = new Person("刘武", 19); Person t5 = new Person("刘武2", 19); List<Person> list = new ArrayList<Person>(); Collections.addAll(list, t1,t2,t3,t4,t5); System.out.println(list); //定义一个排序器 SortByAge sortByAge = Person.getSortByAge(); Collections.sort(list, sortByAge); System.out.println(list); //定义第二个排序器 Collections.sort(list, Person.getSortByName()); System.out.println(list); }
0 0
- java Comparator和Comparable应用
- java Comparable和Comparator
- JAVA Comparator 和 Comparable
- java comparator和comparable
- Java Comparable 和 Comparator
- Java Comparable Comparator 排序应用
- JAVA Comparator和Comparable在排序中的应用
- Java之Comparator和Comparable在排序中的应用
- Java核心技术之Comparator和Comparable在排序中的应用
- java的Comparator和Comparable
- java comparable 和 comparator 排序
- Java中的Comparable和Comparator
- java的Comparator和Comparable
- JAVA Comparable 和Comparator用法
- java的Comparator和Comparable
- JAVA Comparable 和Comparator用法
- java comparable和Comparator 区别
- JAVA Comparable 和Comparator用法
- 40_1 栈结构,满足min,push,pop
- Codeforces Round #266 (Div. 2)
- Android参数分析
- 40_2 取出首尾相连的珠子中一段,要求包含所有N颜色,并长度最短。 滑动窗口问题
- 让非常规词带来网站流量
- java Comparator和Comparable应用
- CXF学习-与Spring整合(暴露web Service接口给其他程序使用)
- OpenCV获取和设置图像的平均亮度
- What is the Future for SharePoint?
- 40_3 设计一个系统处理词语搭配,比如中国和人民可以搭配
- [小技巧] 使用ssh登入不执行.bashrc解决方法
- iOS开发之网络开发——AFNetWorking
- ios设备分辨率 屏幕尺寸一览表
- 组合数学中 序数法生成一个新的序列