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));
}
}
}
![]()
![]()