集合(四) Collections
集合实现类的选择
在开发中,选择什么集合实现类,主要取决于业务操作特点,然后根据集合实现类特性进行选择,分析如下
-
先判断存储的类型
-
一组对象[单列]:Collection接口
允许重复:List
增删多:LinkedList[底层维护了一个双向链表]
改查多:ArrayList[底层维护Object类型的可变数组]
不允许重复:Set
无序:HashSet [底层时HashMap,维护了一个哈希表(即数组+链表+红黑树)]
排序:TreeSet
插入和取出顺序一致:LinkedHashSet,维护数组+双向链表
-
一组键值对[双列]:Map
键无序:HashMap
键排序:TreeMap
键插入和取出顺序一致:LinkedHashMap
读取文件 Properties
Collections工具类
介绍
- Collections 是一个操作Set、List和Map等集合的工具类
- Collections 中提供了一些列静态的方法对集合元素进行排序、查询和修改等操作
排序操作(均为static方法)
-
reverse(List)
反转 List 中元素的顺序
-
shuffle(List)
对List集合元素进行随机排序( 应用于抽奖游戏 )
-
sort(List)
根据元素的自然顺序对指定List集合元素按升序排序
-
sort(List, Comparator)
根据指定的Comparator产生的顺序对List集合元素进行排序
-
swap(List, int, int)
将指定 list 集合中的 i 处元素和 j 处元素进行交换
查找、替换
-
Object max(Collection)
根据元素的自然顺序,返回给定集合中的最大元素
-
Object max(Collection , Comparator)
根据 Comparator 指定的顺序, 返回给定集合中的最大元素
-
Object min(Collection)
-
Object min(Collection , Comparator)
-
int frequency(Collection , Object)
返回指定集合中指定元素的出现次数
-
void copy(List dest , List src)
将src中的内容赋值到dest中
-
boolean replaceAll(List list , Object oldVal , Object newVal)
使用新值替换 List 对象的所有旧值