集合
1,图解范围
2,集合框架
接口和具体类
- Collection
- List
- ArrayList
- LinkedList
- set
- HashSet
- TreeSet
- List
- Map
- AbstractMap (class)
- HashMap
- TreeMap
- AbstractMap (class)
集合详解
Collection:接口存储一组不唯一,无序的对象。
List:接口存储一组不唯一,有序的对象。
Set:接口存储一组唯一,无序的对象。
Map:接口存储一组键值对象,提供key到value的映射
ArrayList:实现了长度可变的数组,在内存中分配连续的空间。遍历元素和随机访问元素的效率比较高。
LinkedList:采用链表存储方式。插入、删除元素时效率比较高。
HashSet:采用哈希算法实现的Set,底层是用HashMap实现的,因此查询效率较高,由于采用hashCode算法直接确定元素的内存地址,增删效率也挺高的。
常用方法
static <T> boolean addAll(Collection<? super T> c, T... elements)
//将所有指定的元素添加到指定的集合。
static <T> int binarySearch(List<? extends Comparable<? super T>> list, T key)
//使用二分搜索法搜索指定列表,以获得指定对象在List集合中的索引。
//注意:此前必须保证List集合中的元素已经处于有序状态。
static <T> int binarySearch(List<? extends T> list, T key, Comparator<? super T> c)
//使用二分搜索法搜索指定对象的指定列表。
static <T> void copy(List<? super T> dest, List<? extends T> src)
//将所有元素从一个列表复制到另一个列表中。
static boolean disjoint(Collection<?> c1, Collection<?> c2)
//如果两个指定的集合没有共同的元素,则返回 true 。
static <T> void fill(List<? super T> list, T obj)
//用指定的元素代替指定列表的所有元素。
static int frequency(Collection<?> c, Object o)
//返回指定 collection 中等于指定对象的出现次数。
static int indexOfSubList(List<?> source, List<?> target)
//返回指定源列表中指定目标列表的第一次出现的起始位置,如果没有此类事件,则返回-1。
static int lastIndexOfSubList(List<?> source, List<?> target)
//返回指定源列表中指定目标列表的最后一次出现的起始位置,如果没有此类事件则返回-1。
static <T> ArrayList<T> list(Enumeration<T> e)
//返回一个数组列表,其中包含由枚举返回的顺序由指定的枚举返回的元素。
static <T extends Object & Comparable<? super T>>
T max(Collection<? extends T> coll)
//根据其元素的 自然顺序返回给定集合的最大元素。
static <T> T max(Collection<? extends T> coll, Comparator<? super T> comp)
//根据指定的比较器引发的顺序返回给定集合的最大元素。
static <T extends Object & Comparable<? super T>>
T min(Collection<? extends T> coll)
//根据其元素的 自然顺序返回给定集合的最小元素。
static <T> T min(Collection<? extends T> coll, Comparator<? super T> comp)
//根据指定的比较器引发的顺序返回给定集合的最小元素。
static <T> boolean replaceAll(List<T> list, T oldVal, T newVal)
//将列表中一个指定值的所有出现替换为另一个。
static void reverse(List<?> list)
//反转指定列表中元素的顺序。
static void rotate(List<?> list, int distance)
//当distance为正数时,将List集合的后distance个元素“整体”移到前面;当distance为负数时,将list集合的前distance个元素“整体”移到后边。该方法不会改变集合的长度。
static void shuffle(List<?> list)
//对List集合元素进行随机排序。
static <T extends Comparable<? super T>>
void sort(List<T> list)
//根据元素的自然顺序对指定列表按升序进行排序。
static <T> void sort(List<T> list, Comparator<? super T> c)
//根据指定比较器产生的顺序对指定列表进行排序。
static void swap(List<?> list, int i, int j)
//在指定List的指定位置i,j处交换元素。
同步控制方法
Collectons提供了多个synchronizedXxx