数组和集合的相互转换
package edu.chinasoft.sort; import java.util.ArrayList; import java.util.Arrays; import java.util.List; /** * Encoding:utf-8 * Author: bailanglang * Date: 2020-10-22 19:33 * Version:1.0 * Description:集合与数组之间的相互转换 */ public class ArrayAndlList { /** * @author bailanglang * Description 主方法 */ public static void main(String[] args) { //数组转换集合 method01(); //集合转为数组 method02(); } private static void method02() { //方法1:把集合里的数据get()循环赋值给数组 ArrayList<String> stringArrayList = new ArrayList<>(); stringArrayList.add("chencong01"); stringArrayList.add("chencong02"); stringArrayList.add("chencong03"); String[] strings = new String[stringArrayList.size()]; for(int i=0;i<stringArrayList.size();i++){ strings[i] = stringArrayList.get(i); } //输出数组 for(String elements:strings){ System.out.println("值为:"+elements); } //方法2:采用集合的集合名.toArray()方法转换为数组 ArrayList<String> stringArrayList01 = new ArrayList<>(); stringArrayList01.add("chencong04"); stringArrayList01.add("chencong05"); stringArrayList01.add("chencong06"); //list转换为数组 /* java中的强制类型转换是针对单个对象才有效果的,而List是多对象的集合, 所以将整个List强制转换是不行的。把数组第一个元素强转,数组中的元素都是同类型的 */ String[] array = stringArrayList01.toArray(new String[0]); for(String elements:array){ System.out.println("值为:"+elements); } } private static void method01() { //方法1:笨方法 通过add把数组里的数据循环添加到集合中 String[] array = new String[]{"bailang01","bailang02","bailang03"}; ArrayList<String> arrayList = new ArrayList<>(); for(int i=0;i<array.length;i++){ arrayList.add(array[i]); } for(int i=0;i<arrayList.size();i++){ System.out.println("arrayList:"+arrayList.get(i)); } //方法2:通过java.util.Arrays.asList(数组名)转换 String[] array01 = new String[]{"bailang01","bailang02","bailang03"}; List<String> stringList = Arrays.asList(array01); for(int i=0;i<stringList.size();i++){ System.out.println("stringList:"+stringList.get(i)); } } }