Java Comparator和Comparabler的区别
一、 Comparable
public class Person implements Comparable<Person>{
public int Age;
public String Name;
public int compareTo(Person o) {
// TODO Auto-generated method stub
return this.Age-o.Age;
}
} public static void main(String[] args) {
// TODO Auto-generated method stub
Person[] persons = new Person[2];//List<Person> persons = new ArrayList<Person>();
Person person1 = new Person();
person1.Age = 32;
person1.Name = "wyp";
persons[0] = person1;//persons.add(person1);
Person person2 = new Person();
person2.Age = 12;
person2.Name = "lx";
persons[1] = person2;//persons.add(person2); Arrays.sort(persons);//Collections.sort(persons);
for (Person person : persons) {
String content = String.format("Name:%s,Age:%s",person.Name,person.Age);
System.out.println("按Age排序");
System.out.println(content);
}
}
二、 Comparator
public class NameSort implements Comparator<Person> { @Override
public int compare(Person o1, Person o2) {
// TODO Auto-generated method stub
return o1.Name.compareTo(o2.Name);
}
} public static void main(String[] args) {
// TODO Auto-generated method stub Person[] persons = new Person[2];//List<Person> persons = new ArrayList<Person>();
Person person1 = new Person();
person1.Age = 32;
person1.Name = "wyp";
persons[0] = person1;//persons.add(person1);
Person person2 = new Person();
person2.Age = 12;
person2.Name = "lx";
persons[1] = person2;//persons.add(person2); Arrays.sort(persons,new NameSort());//Collections.sort(persons,new NameSort());
for (Person person : persons) {
String content = String.format("Name:%s,Age:%s",person.Name,person.Age);
System.out.println("按Name排序");
System.out.println(content);
}
}
Java Comparator和Comparabler的区别的更多相关文章
- Java基础之comparator和comparable的区别以及使用
Java基础之comparator和comparable的区别以及使用 1: 区别: .Comparable类需要实现此接口,定义在类内,不利于扩展 2 .Comparator更灵活,可以随时自定义 ...
- 接口Comparator和Comparable的区别和联系
1. Comparator 和 Comparable 相同的地方 他们都是java的一个接口, 并且是用来对自定义的class比较大小的. 什么是自定义class: 如 public class Pe ...
- java 接口和抽象类的区别
java 接口和抽象类的区别抽象类:1.含有抽象方法的类一定为抽象类,反过来抽象类,不一定含有抽象方法:2.抽象类必须用abstract来进行定义,抽象方法也必须用abstract来进行定义:3.抽象 ...
- JDK与Java SE/EE/ME的区别
1. Java SE(Java Platform,Standard Edition). Java SE 以前称为 J2SE.它允许开发和部署在桌面.服务器.嵌入式环境和实时环境中使用的 Java 应用 ...
- java 静态方法和实例方法的区别
转自 java 静态方法和实例方法的区别 静态方法和实例方法的区别主要体现在两个方面: 在外部调用静态方法时,可以使用"类名.方法名"的方式,也可以使用"对象名.方法 ...
- java中ArrayList 、LinkList区别
转自:http://blog.csdn.net/wuchuanpingstone/article/details/6678653 个人建议:以下这篇文章,是从例子说明的方式,解释ArrayList.L ...
- java抽象类与接口的区别及用法
java抽象类与接口的区别及用法 一.抽象类里面的方法可以有实现,但是接口里面的方法确是只能声明. 二.接口是设计的结果 :抽象类是重构的结果 . 三.java不支持多重继承,所以继承抽象类只能继承一 ...
- 【转】java int与integer的区别
java int与integer的区别 int与integer的区别从大的方面来说就是基本数据类型与其包装类的区别: int 是基本类型,直接存数值,而integer是对象,用一个引用指向这个对象 1 ...
- java 中 ==和equals 的区别
Java中equals和==的区别 java中的数据类型,可分为两类: 1.基本数据类型,也称原始数据类型.byte,short,char,int,long,float,double,boolea ...
随机推荐
- Mysql 查询注意和运行shell命令
Mysql 查询注意 1. 在mysql查询的时候须要注意在表的前面加上数据库的前缀,不然就是默认是当前的数据库(当多个库查询的时候,可能会出现反复的查同样的表多次) 2. \! ls –al ,my ...
- 中国大学MOOC-陈越、何钦铭-数据结构-笔记
中国大学MOOC-陈越.何钦铭-数据结构-2017春 跟着<中国大学MOOC-陈越.何钦铭-数据结构-2017春>学习,平时练习一下pat上的作业外:在这里记录一下:平时学习视屏的收获. ...
- RxJava 设计理念 观察者模式 Observable lambdas MD
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...
- java类过滤器,防止页面SQL注入
package com.tarena.dingdang.filter; import java.io.IOException; import java.util.Enumeration; import ...
- [Functional Programming] mapReduce over Async operations with first success prediction (fromNode, alt, mapReduce, maybeToAsync)
Let's say we are going to read some files, return the first file which pass the prediction method, t ...
- easyui tree带checkbox实现单选
<ul id="regionTree"></ul> $('#regionTree').tree({ cascadeCheck: false, //onlyL ...
- Discuz常见小问题-如何修改导航栏
1 比如我要修改第一个导航栏,则在界面-导航设置,主导航,然后点击右边的编辑按钮 2 比如我把"首页"的名字改成"论坛首页",别的都不改,然后点击提交,刷新页面 ...
- Python编程-基础知识-条件判断
1. 简单的if/else条件判断 judge_flow.py name = input("Please input name: ") if name == 'master': p ...
- Jquery 应用积累
1.控制div显隐 $("#id").show()表示display:block, $("#id").hide()表示display:none; $(" ...
- Android模拟神器——Genymotion
文章地址:http://ryantang.me/blog/2013/08/16/genymotion/