泛型数组与集合的转换


类 Arrays
public 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.UnsupportedOperationException
		System.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);
		}
	}

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值