您的位置:首页 > 编程语言 > Java开发

【java基础】Collections工具类和Arrays工具类中的注意事项

2017-11-04 13:33 435 查看
Collections工具类(用于操作集合)

该工具类中有很多对于集合操作的常用方法:

1、对集合进行排序:sort( )方法。

2、将线程不安全的方法转成线程安全的方法synchronizedCollection,set,list.Map等。

3、返回指定集合中对于指定元素的元素数:frequency();

集合转成数组的问题:使用的是Collection接口中的toArray方法。

集合转成数组:可以对集合中的元素操作的方法进行限定,不允许对其进行增删。

注意:toArray方法需要传入一个指定类型的数组。

长度如何定义呢?

如果长度小于集合的size,那么该方法会创建一个同类型并和集合相同size的数组。

如果长度大于集合的size,那么该方法就会使用指定的数组存储集合中的元素,其它位置默认为null。

三 Arrays工具类

1 、数组转成集合的问题一。现只介绍它里面的第一个静态方法:asList( )。

/*public static <T> List<T> asList(T... a)
返回一个受指定数组支持的固定大小的列表。(对返回列表的更改会“直接写”到数组。)此方法同 Collection.toArray() 一起,
充当了基于数组的 API 与基于 collection 的 API 之间的桥梁。返回的列表是可序列化的,并且实现了 RandomAccess。
此方法还提供了一个创建固定长度的列表的便捷方法,该列表被初始化为包含多个元素:

List<String> stooges = Arrays.asList("Larry", "Moe", "Curly");

参数:
a - 支持列表的数组。
返回:
指定数组的列表视图。*/
public static void method(){
//将数字数组转换成集合,将会把整个数组作为一个对象存入集合中。
int[] arr= {1,2,3,4,5};
List list1=Arrays.asList(arr);
//将整数对象数组转换成集合,将会把数组中的每个元素作为对象存入集合中。
Integer[] arr= {1,2,3,4,5};
List list2=Arrays.asList(arr);
//将字符串对象转换成集合,将会把数组中的每个元素作为对象存入集合中。
String[] str= {"afd","adf","qq","cc"};
List list3=Arrays.asList(arr);
}
注意:如果数组中的元素是对象,那么转成集合时,直接将数组中的元素作为集合中的元素进行集合的存储。
           如果数组中的元素是基本类型数值,那么会将该数组作为集合中的元素进行存储。

2、数组转集合的问题二。也是有关asList()的。

public static void method_2(){

String[] str= {"afd","adf","qq","cc"};
List list=Arrays.asList(str);
list.add("kk");//本行将会引发UnsupportedOperationException,原因见下面。
}
注意:数组转成集合后,不能对集合进行增删!因为数组的长度是固定的,所以对于集合的增删方法是不可以使用的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐