一、Collections工具类
Collections工具类内部提供了大量针对Collection/Map的方法,都为静态方法。总体分为以下四类:
1、排序操作(针对List接口):
1)reverse(List list):指定元素进行序列反转
2)shuffle(List list):对集合中的元素进行随机排序
3)sort(List list):对集合进行升序操作
4)sort(List list,Comparator com):自定义比较器升序操作
5)swap(List list,int i ,int j ):对集合里的两个元素进行换位操作
6)rotate(List list,int distance):将所有元素向右移指定长度
2、查找替换操作(针对Collection接口):
1)binarySearch(List list,Object key):使用二分法查找,前提是已经排好序
2)max(Collection coll):返回最大值
3)max(Collection coll,Comparator com):根据比较器操作返回最大值
4)min(Collection coll):返回最小值
5)min(Collection coll,Comparator com):根据比较器操作返回最小值
6)fill(Collection coll):使用指定对象进行填充
7)frequency(Collection coll,Object key):返回指定元素出现的次数
8)replaceAll(List old,List new,Object key):替换
3、同步控制
4、设置不可变集合
1)emptyXxx():返回一个不可变集合
2)singletonXxx():返回一个只包含指定元素的的不可变集合
3)unmodifiableXxx():返回集合指定对象不可变试图
二、Optional类的使用
容器对象,专门为了解决空指针异常而生成的一个类
内部方法:
of():为非null值创建的一个Optional
ofNullable():为指定值创建一个Optional,如果为null,则返回一个空的Optional
isPressent():如果值存在返回true,否则为false
get():获取值,如果为空则抛出异常
orElse():有值则返回,否则返回其他值
三、队列与栈
队列(Quque):先进先出模式,即排队模式,先进入的先出,只能在一端进行操作
双队列(Deque):先进先出模式,即排队模式,先进入的先出,但是能在两头进行操作
堆栈(Stack):先进后出模式,即压栈模式,先进去的会被压到栈底
四、一对多与多对多模式
此类设计模式是对集合的应用实例,通过此类设计模式将两个对象连接起来
1、多个对象绑定一个对象,只需要在设计时在该类里面创建单对象的对象
2、单对象绑定多对象,需要在单对象里设计集合,然后将多对象填入集合
3、多对多模式,可以设计一个中间单对象,然后设计两个单对多模式
五、迭代器设计模式
迭代模式,就是设计一个方法,按照顺序遍历一个集合内的所有元素,且不需要展示内部对象
应用场景:
1、遍历一个集合内的所有元素,且不需要展示内部对象
2、支持多种遍历方法
3、对于不同的方法,提供同一个接口
角色构成:
1、迭代器角色(Iterator):定义实现遍历的方法,
2、具体迭代角色(Concrete Iterator ):实现迭代器角色里的方法
3、容器角色(Aggregate):一个接口,提供Iterator()的方法
4、具体容器角色(Concrete Aggregate):实现容器角色里的方法