码迷,mamicode.com
首页 > 编程语言 > 详细

Java 复习 —— 集合数组帮助类

时间:2015-08-18 16:46:37      阅读:144      评论:0      收藏:0      [点我收藏+]

标签:

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负责指定元素的数组


Java 复习 —— 集合数组帮助类

标签:

原文地址:http://my.oschina.net/heweipo/blog/493980

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!