数组和集合的相互转换

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));
        }
    }

}

 

posted @ 2020-10-22 20:22  BAILANGL  阅读(98)  评论(0编辑  收藏  举报