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 ...
随机推荐
- SystemVerilog Event Scheduling Algorithm
While simulating System Verilog design and its test-bench including assertions, events has to be dyn ...
- SQL Server AlwaysOn Setup Step-By-Step Guide
Step-By-Step: Creating a SQL Server 2012 AlwaysOn Availability Group http://blogs.technet.com/b/cani ...
- IOS之导航控制器传值
UITableView有两种风格:UITableViewStylePlain和UITableViewStyleGrouped.这两者操作起来其实并没有本质区别,只是后者按分组样式显示前者按照普通样式显 ...
- Java 抽象类和接口有什么差别
抽象类和接口有什么差别? 1. 抽象类在java语言中所表示的是一种继承关系,一个子类仅仅能继承一个父类.可是能够实现多个接口. 2. 在抽象类中能够拥有自己的成员变量和非抽象类方法,可是接口中仅仅能 ...
- WIN7使用技巧 让电脑变身WiFi热点,让手机、笔记本共享上网,如何开启无线网络,共享无线网络
将win7电脑变身WIFI热点,让手机.笔记本共享上网 用win7建立无线局域网,可以共享上网可以局域网游戏. 开启windows 7的隐藏功能:虚拟WIFI和SoftAP(即虚拟无线AP),就可以让 ...
- Java开发中所遇问题积累
1.判断两个字符串是否相等时,如下,使用" == "无效: String name = "Jack"; if(name.equals("Jack&qu ...
- uploadfiy 3.0
uploadfiy v3.0中按钮可以轻易修改成中英文,而不至于想2.xx版本中,需要对中文进行编码. 3.0中圆圆的按钮,很漂亮. 但是,3.0中去掉了原来的onComplete函数,并且也去掉了从 ...
- linux 用户管理,用户权限管理,用户组管理
linux 用户管理,用户权限管理,用户组管理 一:ls -l 命令 解释 第个d表示是目录,如果是文件是-,如果是连接是l 第2到4个 rwx 表示创建者的操作权限 r 读,w 写,x 执行 第5到 ...
- Struts2(三)更改字符编码
一.导入包和struts配置文件 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE stru ...
- Java从零开始学二十一(集合List接口)
一.List接口 List是Collection的子接口,里面可以保存各个重复的内容,此接口的定义如下: public interface List<E> extends Collecti ...