java容器:9、如何实现List和数组之间的转换?

如何实现List和数组之间的转换?

1、List转数组(2种方法)

(1)(常用)应用:list.toArray(new String[list.size()])
(2)应用:list.toStream.toArray(String[]:new)

		List<String> list = new ArrayList<String>();
		list.add("张三");
		list.add("李四");
		list.add("王五");
		
		/**
		 * 1.应用:list.toArray(new String[list.size()])
		 */
		System.out.println("========1========");
		String[] arrStrings = list.toArray(new String[list.size()]);
		printArr(arrStrings);
			
		/**
		 * 2.应用:list.toStream.toArray(String[]:new)
		 */
		System.out.println("========2========");
		String[] arrStrings1 = list.toArray(new String[list.size()]);
		printArr(arrStrings1);

2、数组转List(3种方法)

(1)通过 Arrays.asList(strArray) 方式,将数组转换List后,不能对List增删,只能查改,否则抛异常。
(2)通过ArrayList的构造器,将Arrays.asList(arr)的返回值转为ArrayList。
(3)通过集合工具类Collections.addAll()方法(最高效)。

		String[] arr={"王昭君","妲己","后羿","鲁班","程咬金"};
		System.out.println(arr);
		
		/**
		 * 1.通过 Arrays.asList(strArray) 方式,将数组转换List后,不能对List增删,只能查改,否则抛异常。
		 */
		List<String> list1=Arrays.asList(arr);
		System.out.println(list1);//此方法仅可读取数据用,不可以操作数据。
		/**
		 * 2.通过ArrayList的构造器,将Arrays.asList(arr)的返回值转为ArrayList。
		 */
		List<String> list2=new ArrayList<String>(Arrays.asList(arr));
		System.out.println(list2);
		/**
		 * 3.通过集合工具类Collections.addAll()方法(最高效)
		 */		
		ArrayList<String> list3=new ArrayList<String>();
		Collections.addAll(list3, arr);
		System.out.println(list3);

相关推荐:
ArrayList和Array(数组)的区别

发布了57 篇原创文章 · 获赞 13 · 访问量 1111

猜你喜欢

转载自blog.csdn.net/weixin_42924812/article/details/105054347