java 排序容器_List容器三种排序示例

import java.util.ArrayList;

import java.util.Collections;

import java.util.Comparator;

import java.util.List;

/**

*

*/

/**

* 类说明: List排序三种示例

* Time: 2014-1-21 下午3:25:17

* @author 凯文加内特

* Company: http://weibo.com/u/3165936675

*/

public class ListSort {

class User {

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public Integer getAge() {

return age;

}

public void setAge(int age) {

this.age = age;

}

private String name;//姓名

public Integer age;//年龄

}

class Dog implements Comparable {

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public Integer getAge() {

return age;

}

public void setAge(Integer age) {

this.age = age;

}

private String name;

private Integer age;

@Override

public int compareTo(Dog dog) {

return this.getAge().compareTo(dog.getAge());

}

}

class Cat implements Comparator {

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public Integer getAge() {

return age;

}

public void setAge(Integer age) {

this.age = age;

}

private String name;

private Integer age;

@Override

public int compare(Cat o1, Cat o2) {

return o1.getAge().compareTo(o2.getAge());

}

}

public static void main(String[] args) {

System.out.println("====Collections.sort重载方法实现开始====");

List users = new ArrayList();

ListSort sort = new ListSort();

User u1 = sort.new User();

u1.setName("郭德纲");

u1.setAge(40);

User u2 = sort.new User();

u2.setName("于谦");

u2.setAge(35);

User u3 = sort.new User();

u3.setName("奥斯特洛夫斯基");

u3.setAge(80);

users.add(u1);

users.add(u2);

users.add(u3);

//根据Collections.sort重载方法来实现

Collections.sort(users, new Comparator() {

@Override

public int compare(User u1, User u2) {

return u1.getAge().compareTo(u2.getAge());

}

});

for (User user : users) {

System.out.println(user.getName() + "的年龄:" + user.getAge());

}

System.out.println("====Collections.sort重载方法实现结束====");

System.out.println("====实现Comparable开始====");

List dogs = new ArrayList();

Dog d1 = sort.new Dog();

d1.setName("能能");

d1.setAge(3);

Dog d2 = sort.new Dog();

d2.setName("肥肥");

d2.setAge(2);

Dog d3 = sort.new Dog();

d3.setName("老豆豆");

d3.setAge(7);

dogs.add(d1);

dogs.add(d2);

dogs.add(d3);

for (Dog dog : dogs) {

System.out.println(dog.getName() + "的年龄:" + dog.getAge());

}

System.out.println("====实现Comparable结束====");

System.out.println("====实现Comparator开始====");

List cats = new ArrayList();

Cat c1 = sort.new Cat();

c1.setName("花花");

c1.setAge(3);

Cat c2 = sort.new Cat();

c2.setName("贱仔");

c2.setAge(3);

Cat c3 = sort.new Cat();

c3.setName("福福");

c3.setAge(3);

cats.add(c1);

cats.add(c2);

cats.add(c3);

for (Cat cat : cats) {

System.out.println(cat.getName() + "年龄:" + cat.getAge());

}

System.out.println("====实现Comparator结束====");

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值