Java学习笔记—对象的比较和集合工具类Collections
2017-09-16 08:34
597 查看
一、对象的比较
实现Comparable<T>接口并且实现里面的compareTo(T o)方法
二、集合工具类Collections
常用方法
修饰符和返回值 | 方法声明 | 功能描述 |
---|---|---|
static void | reverse(List<?> list) | 对集合进行反转操作 |
static void | shuffle(List<?> list) | 对集合进行随机打乱操作 |
static <T extends Comparable<? super T>> void | sort(List<T> list) | 对实现了Comparable接口的对象的集合进行排序 |
static <T> List<T> | synchronizedList(List<T> list) | 把集合变成同步的(线程安全的) |
static <T> void | sort(List<T> list, Comparator<? super T> c) | 传入一个实现了Comparator接口的比较器,对集合进行排序 |
public class TestCollections { public static void main(String[] args) { List<String> list = new ArrayList<String>(); list.add("张三"); list.add("李四"); list.add("王五"); list.add("赵六"); list.add("田七"); Collections.reverse(list);// 对集合进行反转操作 System.out.println(list);// 打印[田七, 赵六, 王五, 李四, 张三] Collections.shuffle(list);// 对集合进行随机打乱操作 System.out.println(list); List<String> list1 = new ArrayList<String>(); list1.add("zs"); list1.add("ls"); list1.add("ww"); list1.add("zl"); list1.add("tq"); Collections.sort(list1);// 对实现了Comparable接口的对象的集合进行排序 System.out.println(list1);// 打印[ls, tq, ww, zl, zs] List<Emp> list2 = new ArrayList<Emp>(); list2.add(new Emp(5, 23)); list2.add(new Emp(1, 24)); list2.add(new Emp(4, 34)); list2.add(new Emp(1, 14)); Collections.sort(list2, new Comparator<Emp>() { @Override public int compare(Emp o1, Emp o2) { int val = o1.getId() - o2.getId(); if (val == 0) { val = o1.getAge() - o2.getAge(); } return val; } }); System.out.println(list2);// 打印[Emp [id=1, age=14], Emp [id=1, age=24], // Emp [id=4, age=34], Emp [id=5, age=23]] } } class Emp { private int id; private int age; public Emp(int id, int age) { super(); this.id = id; this.age = age; } public int getId() { return id; } public void setId(int id) { this.id = id; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public String toString() { return "Emp [id=" + id + ", age=" + age + "]"; } }
相关文章推荐
- Java学习笔记33(集合框架七:Collections工具类)
- 黑马程序员java学习笔记——Collections、Arrays工具类和其他对象
- Java笔记(二十四)……集合工具类Collections&Arrays
- 黑马程序员—java基础学习--Map集合、Collections,Arrays工具类
- 【python学习笔记】python中的模块,类,函数,对象,实例(与JAVA的比较)
- 【java web 学习笔记】java的集合对象
- Java集合源码学习笔记(五)ArrayList,LinkedList,Vector和Hashtable,HashMap的比较
- JAVA学习笔记(5)_____String对象比较的一些个人见解
- 0024 Java学习笔记-面向对象-包装类、对象的比较、String常量池问题
- (38)Java学习笔记——集合框架 / Collections工具类
- Java学习日志(17-1-集合框架工具类Collections)
- [Guava学习笔记]Collections: 集合工具类
- JAVA学习笔记(二十四) - Properties类和Collections工具类
- JAVA基础学习(十七)--集合四 工具类Collections
- 黑马程序员——Java基础--集合框架工具类:Collections、Arrays、其他对象
- [Java学习笔记] 对象的比较(引用比较、值比较) ^_^个人的理解,请多多关照^_^
- JAVA基础学习之 Map集合、集合框架工具类Collections,Arrays、可变参数、List和Set集合框架什么时候使用等(4)
- Android(java)学习笔记105:Map集合的遍历之键值对对象找键和值
- 黑马程序员 java 基础 毕向东 面向对象 集合框架 工具类 Collections and Arrays
- 黑马程序员----Java集合框架学习笔记2 Map-工具类-泛型