List<T> 排序
来源:互联网 发布:广告终结者 mac 编辑:程序博客网 时间:2024/06/05 10:33
1、重载Collections.sort方法
package com.fang.dbtest;public class User {private Integer id;private String name;private Integer age;public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}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;}}
package com.fang.dbtest;import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.Iterator;import java.util.List;public class Tests {public static void main(String[] arg) {List<User> list = new ArrayList<User>();User user1 = new User();User user2 = new User();User user3 = new User();user1.setId(1);user1.setName("name1");user1.setAge(3);user2.setId(2);user2.setName("name2");user2.setAge(2);user3.setId(3);user3.setName("name3");user3.setAge(1);list.add(user1);list.add(user2);list.add(user3);// 按照指定的属性升序排序Collections.sort(list, new Comparator<User>() {public int compare(User arg0, User arg1) {return arg0.getAge().compareTo(arg1.getAge());}});for (Iterator<User> it = list.iterator(); it.hasNext();) {User user = it.next();System.out.println(user.getName());}}}
执行结果:
name3
name2
name1
2、就是list泛型中的对象实现Comparable接口:
package com.fang.dbtest;public class User implements Comparable<User> {private Integer id;private String name;private Integer age;public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}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;}<pre name="code" class="java"> // 按照id 进行排序@Overridepublic int compareTo(User o) {// TODO Auto-generated method stubreturn this.getId().compareTo(o.getId());}}
package com.fang.dbtest;import java.util.ArrayList;import java.util.Collections;import java.util.Iterator;import java.util.List;public class Tests {public static void main(String[] arg) {List<User> list = new ArrayList<User>();User user1 = new User();User user2 = new User();User user3 = new User();user1.setId(1);user1.setName("name1");user1.setAge(3);user2.setId(2);user2.setName("name2");user2.setAge(2);user3.setId(3);user3.setName("name3");user3.setAge(1);list.add(user1);list.add(user2);list.add(user3);// 按照指定的属性升序排序Collections.sort(list);// 反转指定列表中元素的顺序。Collections.reverse(list);Iterator<User> it = list.iterator();while (it.hasNext()) {User user = it.next();System.out.println(user.getName());}}}执行结果:
name3
name2
name1
0 0
- C# List<T>排序
- List<T>排序
- Jquery List<T>排序
- List<T>排序
- List<T> 排序
- List<T> 排序
- List<T> 属性排序
- JAVA:List<T> 排序
- Android List<T> 排序
- list<T>排列 排序
- 对List<T> 随机排序
- C# List<T>.Sort排序
- List<T> 查询 linq 排序
- List<T> 排序问题分享
- Linq 之 List<T> 排序
- List<T> 排序及筛选
- List<T>排序
- 对List<T> 随机排序
- poj Red and Black
- 如何添加Samba用户
- cocos2d-x v3.9 与ActionInterval的孩子们之间的对话(3)
- 1287: HH实习【斐波那契数列】
- C#中的反射例子及思考
- List<T> 排序
- C文件读写函数介绍(转)
- 使用NSData下载图片,但是没有下载成功
- VS编译标准库函数出错
- swift Extensions(官方文档翻译)
- C++11 为自定义容器实现标准的forward迭代器
- 项目1 - 图基本算法库
- 退役
- C++赋值操作符重载简介