【Java基础】集合(1) —— Collection
【Java基础】集合(2) —— List
【Java基础】集合(3) —— Set
【Java基础】集合(4) —— 泛型
【Java基础】集合(5) —— Map
【Java基础】集合(6) —— Collections
Collection和Collections的区别:
1.Collection:
是集合类的上层接口。本身是一个Interface,里面包含了一些集合的基本操作。
Collection接口时Set接口和List接口的父接口
2.Collections
Collections是一个集合框架的帮助类,里面包含一些对集合的排序,搜索以及序列化的操作。
最根本的是Collections是一个类,Collections 是一个包装类,Collection 表示一组对象,这些对象也称为 collection 的元素。一些 collection 允许有重复的元素, 而另一些则不允许,一些 collection 是有序的,而另一些则是无序的
Collections常用方法及示例
- static List asList(T… a)数组转集合
List<String> list= Arrays.asList("haha", "hehe","xixi");
System.out.println(list.size());
- T[] toArray(T[] a) Collection 集合转数组
给定数组的长度最好和集合的大小相同
String[] arr=list.toArray(new String[list.size()]);
System.out.println(arr.length);
- static boolean addAll(Collection<? super T> c, T… elements)
List<Integer> li=new ArrayList<>();
Collections.addAll(li,1,12,15,17,46,18,59,66,23);
- **static <T extends object & Comparable<? super T>> T max(Collection<? extends T> coll) **
求集合中最大值(使用默认的比较方式)
Integer max=Collections.max(list);
- static T max(Collection<? extends T> coll,Comparator<? super T> comp)
max=Collections.max(list,(t1,t2)->t2-t1);
- **static Comparator reverseOrder() **
返回一个相反的比较方式
//得到的是和默认的比较方式相反的比较方式
max=Collections.max(list,Collections.reverseOrder());
- static Comparator reverseOrder(Comparator cmp)
返回和指定比较方式相反的比较方式
List<String> l=new ArrayList<>();
Collections.addAll(l,"a","aaaaa","bb");
String str=Collections.max(l);
System.out.println(str);
str=Collections.max(l,(e1,e2)->e1.length()-e2.length());
System.out.println(str);
str=Collections.max(l,Collections.reverseOrder((e1,e2) -> e1.length()-e2.length()));
System.out.println(str);
- static <T extends Comparable<? super T>> void sort(List list)
static void sort(List list,Comparator<? super T> c)