泛型数组与集合的转换

来源:互联网 发布:邮件地址搜索软件 编辑:程序博客网 时间:2024/09/21 08:15


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


import java.util.ArrayList;import java.util.Arrays;import java.util.List;public class j {public static void main(String[] args) {/** 数组转换成集合 * 数组转换成集合虽然不能增加或减少元素,但是可以用集合的思想操作数组, * 也就是说可以使用其他集合中的方法 */String[] arr = {"a","b","c"};List<String> list = Arrays.asList(arr);//将数组转换成集合//list.add("d");//不能添加java.lang.UnsupportedOperationExceptionSystem.out.println(list);//[a, b, c]int[] arr1 = {11,22,33,44,55};//List list1 = Arrays.asList(arr1);List<int[]> list1 = Arrays.asList(arr1);//基本数据类型的数组转换成集合,会将整个数组当作一个对象转换System.out.println(list1);//[[I@1db9742]Integer[] arr2 = {11,22,33,44,55};//要将数组转换成集合,数组必须是引用数据类型//如果是基本类型,就找他的包装类List<Integer> list2 = Arrays.asList(arr2);System.out.println(list2);//[11, 22, 33, 44, 55]//集合转数组,加泛型的ArrayList<String> list3= new ArrayList<>();list3.add("a");list3.add("b");list3.add("c");list3.add("d");//String[] arr3 = list3.toArray(new String[0]);String[] arr3 = list3.toArray(new String[10]);//当集合转换数组时,数组长度如果是小于等于集合的size时,转换后的数组长度等于集合的size//如果数组的长度大于了size,分配的数组长度就和你指定的长度一样for (String string : arr3) {System.out.println(string);}}}


0 0
原创粉丝点击