【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( )。
如果数组中的元素是基本类型数值,那么会将该数组作为集合中的元素进行存储。
2、数组转集合的问题二。也是有关asList()的。
该工具类中有很多对于集合操作的常用方法:
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,原因见下面。 }注意:数组转成集合后,不能对集合进行增删!因为数组的长度是固定的,所以对于集合的增删方法是不可以使用的。
相关文章推荐
- Java基础——Collections+Arrays工具类+可变参数+静态导入
- 黑马程序员——JAVA基础——集合---概述、Collection中共性方法、List、Map、工具类Collections和Arrays
- java基础37 集合框架工具类Collections和数组操作工具类Arrays
- 黑马程序员——Java基础--集合框架工具类:Collections、Arrays、其他对象
- JAVA基础 day17 Collections工具类和Arrays工具类的使用 静态导入和可变参数的学习
- 黑马程序员——Java基础---泛型、集合框架工具类:collections和Arrays
- 黑马程序员——Java基础---Collections,Arrays工具类以及其他对象
- 黑马程序员 java 基础 毕向东 面向对象 集合框架 工具类 Collections and Arrays
- Java基础---泛型、集合框架工具类:collections和Arrays (黑马程序员)
- Java基础---泛型、集合框架工具类:collections和Arrays
- java基础<Collections-Arrays工具类>
- 黑马程序员——Java基础---泛型、集合框架工具类:collections和Arrays
- 黑马程序员—java基础学习--Map集合、Collections,Arrays工具类
- 黑马程序员——Java基础---泛型、集合框架工具类:collections和Arrays
- 黑马程序员——Java语言基础:集合框架(Collection、Map,工具类Collections、Arrays)
- 黑马程序员——Java基础---泛型、集合框架工具类:Collections和Arrays、JDK 1.5新特性
- Java基础-----Collections与Arrays工具类
- JAVA基础学习之 Map集合、集合框架工具类Collections,Arrays、可变参数、List和Set集合框架什么时候使用等(4)
- Java基础--工具类(Collections、Arrays)及其他常用类
- 黑马程序员——Java基础工具类---Collections、Arrays、超级for循环、静态导入、方法可变参数