1、集合帮助类
基本就这些了,关键是要了解 Collections 是集合的帮助类,不是数组的帮助类;
1)生成只读的集合实例对象
Collections.singletonList——用来生成只读 的单一元素的List
Collections.singletonMap——用来生成只读 的单Key和Value组成的Map
Collections.singleton——用来生成只读 的单一元素的Set
Collections.unmodifiableList——用来生成只读 的List
Collections.unmodifiableMap——用来生成只读 的Key和Value组成的Map
Collections.unmodifiableSet——用来生成只读的Set
如果查找执行了先关非只读的操作会出现异常:UnsupportedOperationException
2)检查集合元素的类型
checkedCollection,checkedList,checkedMap,checkedSet,checkedSortedMap,checkedSortedSet
如果检查发现元素类型不匹配就会法生ClassCastExceptions异常,虽然Java5中提供泛型的功能,泛型功能能够在代码编译阶段就约束集合中元素的类型,但有些时候声明的集合可能是raw集合(原始类型,也就是没有使用泛型的集合),编译阶段的类型约束就不起作用了,这个时候Checked集合就能起到约束集合中元素类型的作用。
3)同步集合元素
synchronizedXxxxx系列方法会返回同步化集合类(SynchronizedMap, SynchronizedList)。这些集合类内部实现都是通过一个mutex(互斥体)来实现对这些集合操作的同步化。其实就是把一个异步的集合变为
4)集合操作
包括 排序、查找、替换、移位、统计、填充 等
fill—使用指定元素替换指定列表中的所有元素。
frequency—返回指定 collection 中等于指定对象的元素数。
indexOfSubList— 返回指定源列表中第一次出现指定目标列表的起始位置,如果没有出现这样的列表,则返回 -1。
lastIndexOfSubList—返回指定源列表中最后一次出现指定目标列表的位置,如果没有出现这样的列表,则返回-1。
max—— 根据元素的自然顺序,返回给定 collection 的最大元素。
min——根据元素的自然顺序 返回给定 collection 的最小元素。
replaceAll——使用另一个值替换列表中出现的所有某一指定值。
reverse——对List中的元素倒序排列
shuffle——对List中的元素随即排列
sort——对List中的元素排序
swap——交换List中某两个指定下标位元素在集合中的位置。
rotate——循环移动。循环移动这个方法让人比较难以理解,下面的例子就会让你一下子就理解这个方法的含义。
binarySearch——使用二进制搜索算法来搜索指定列表,以获得指定对象。
5)其他操作
addAll——将所有指定元素添加到指定 collection 中。
copy——将所有元素从一个列表复制到另一个列表。
disjoint——如果两个指定 collection 中没有相同的元素,则返回 true。
nCopies——返回由指定对象的 n 个副本组成的不可变列表。
2、数组帮助类
基本就这些了,关键是要了解 Arrays 是数组的帮助类,不是集合的帮助类;
1)给数组赋值
:通过fill方法。
2)对数组排序
:通过sort方法,按升序。
3)比较数组
:通过equals方法比较数组中元素值是否相等。
4)查找数组元素
:通过binarySearch方法能对排序好的数组进行二分查找法操作。
5)把数组转为集合
:通过asList方法,把数组的元素转为集合的元素。
6)把数组以字符串的形式转换
:通过toString方法,本来数组调用toString返回的是类@地址,现在则是打印元素
7)复制数组的元素
:通过 copyOf、copyOfRange负责指定元素的数组