Java 中 List 元素排序
来源:互联网 发布:淘宝html5模板 编辑:程序博客网 时间:2024/06/06 12:23
转载请注明来源: http://blog.csdn.net/kjunchen/article/details/51559020
Java 中 List 元素排序
对 List 中的元素进行排序可以使用 java.util.Collections 类中的sort()方法。既可以给方法传递一个 List 对象,也可以传递一个 List 和一个 Comparator 。如果列表中的元素全都是相同类型的类,并且这个类实现了 Comparable 接口,可以简单的调用 Collections.sort() 。如果这个类没有实现 Comparator ,你也可以传递一个 Comparator 到方法 sort() 中,进行排序。如果你不想使用缺省的分类顺序进行排序,你同样可以传递一个 Comparator 到方法 sort() 中来进行排序。
方式一: List 中对象实现 Comparable 接口
1、 创建对象并实现 Comparable 接口
public class Cat implements Comparable<Cat> { private String name; private Integer order; public Cat(String name, Integer order) { super(); this.name = name; this.order = order; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getOrder() { return order; } public void setOrder(Integer order) { this.order = order; } @Override public int compareTo(Cat o) { return this.getOrder().compareTo(o.getOrder()); } @Override public String toString() { return "Cat [name=" + name + ", order=" + order + "]"; }}
2、 调用 Collections.sort(List) 方法进行排序
public static void main(String[] args) { List<Cat> catList = new ArrayList<>(); Cat cat1 = new Cat("name1", 1); Cat cat2 = new Cat("name2", 2); Cat cat3 = new Cat("name3", 3); catList.add(cat3); catList.add(cat1); catList.add(cat2); System.out.println("未排序: " + catList.toString()); //调用 Collections.sort() 方法进行排序 Collections.sort(catList); System.out.println("排序后: " + catList.toString());}
执行结果为:
未排序: [Cat [name=name3, order=3], Cat [name=name1, order=1], Cat [name=name2, order=2]]排序后: [Cat [name=name1, order=1], Cat [name=name2, order=2], Cat [name=name3, order=3]]
方式二: 重载 Collections.sort() 方法
1、 创建对象
public class Dog { private String name; private Integer order; public Dog(String name, Integer order) { super(); this.name = name; this.order = order; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getOrder() { return order; } public void setOrder(Integer order) { this.order = order; } @Override public String toString() { return "Dog [name=" + name + ", order=" + order + "]"; }}
2、 调用 Collections.sort(List, Comparator) 方法进行排序
public static void main(String[] args) { List<Dog> dogList = new ArrayList<>(); Dog dog1 = new Dog("name1", 1); Dog dog2 = new Dog("name2", 2); Dog dog3 = new Dog("name3", 3); dogList.add(dog3); dogList.add(dog1); dogList.add(dog2); System.out.println("未排序: " + dogList.toString()); //调用 Collections.sort() 方法进行排序,传入List 和 Comparator Collections.sort(dogList, new Comparator<Dog>() { @Override public int compare(Dog o1, Dog o2) { return o1.getOrder().compareTo(o2.getOrder()); } }); System.out.println("排序后: " + dogList.toString()); }
执行结果为:
未排序: [Dog [name=name3, order=3], Dog [name=name1, order=1], Dog [name=name2, order=2]]排序后: [Dog [name=name1, order=1], Dog [name=name2, order=2], Dog [name=name3, order=3]]
欢迎加QQ群交流: 365532949
Homepage: http://junkchen.com
0 0
- Java 中 List 元素排序
- java 根据list元素排序
- java中list排序(元素为对象)
- Java中的对List中元素进行自定义排序
- java按List<Object>中元素的值进行排序
- java中List排序
- STL中list结构体元素排序
- Java中使用Collections.sort对List里面的元素排序示例
- Java中对List集合内的元素进行顺序、倒序、随机排序的示例代码
- Java中对List集合内的元素进行顺序、倒序、随机排序的示例代码
- 有关JAVA中collection和set和list的用法,以及元素的升序排序方法
- java中List排序 例子
- Java中List的排序
- Java中List的排序
- Java中List的排序
- Java中List的排序
- Java中List的排序
- Java中List的排序
- 【刷题之路】不使用额外空间交换两个数
- Java用字符串生成的md5,sha1作为数据库主键, 去重
- 为何有了组件, 还要有微服务?
- image圆形图片
- 平台插件化
- Java 中 List 元素排序
- Android调用系统拍照 读取选择的角度
- spring_helloworld
- sql查询重复记录、删除重复记录方法大全
- 不使用中间变量交换两数
- Android旋转图片
- java6.01学习笔记TCPServer
- 九度 题目1176:树查找
- 编译基础——如何用g++编译自己的库,以及一个简单的makefile文件