List套数组 把Arraylist里面装了两个String的数组.现在要把Arraylist套出变成一个String的数组该怎么做?

2025-02-25 17:44:55
推荐回答(3个)
回答1:

我把代码全部实现写了一下,包括转换为一维数组和二维数组,可以直接copy运行,还望采纳:

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

/**
 * 
 * 开发公司:SOJSON在线工具
 * 版权所有:© www.sojson.com
 * 博客地址:http://www.sojson.com/blog/
 * 


 * 
 * 注释写这里
 * 
 * 


 * 
 * 区分 责任人 日期    说明

 * 创建 周柏成 2017年4月2日  

 *
 * @author zhou-baicheng
 * @email  so@sojson.com
 * @version 1.0,2017年4月2日 

 * 
 */
public class Test {

    public static void main(String[] args) {
        //定义2个数组
        String [] array1 = {"1","2","3"};
        String [] array2 = {"4","5"};
    
        List list = new ArrayList();
        list.add(array1);
        list.add(array2);
        
        //把上面的ArrayList变成一个String的二维数组
        String[][] strArray = list.toArray(new String[][]{});
        //循环输出结果
        for (String[] strings : strArray) {
            System.out.println(Arrays.toString(strings));
        }
        
        //把上面的ArrayList变成一个String的一维数组
        
        List newList = new ArrayList();
        newList.addAll(Arrays.asList(array1));//直接转成List,然后加入集合即可
        newList.addAll(Arrays.asList(array2));//直接转成List,然后加入集合即可
        //得到一个一维数组
        String[] resultArray = newList.toArray(new String[]{});
        
        //直接输出结果
        System.out.println(Arrays.toString(resultArray));
        
        
        
        /**
         * 知识小结:
         * Arrays.asList();//这是把一个数组转换为List集合
         * list.toArray();//这是把一个List转换为数组。里面的参数是转换后的返回对象类型
         * Arrays.toString();//这里是把一个一维数组直接输出String
         */
    }
}

有更多Java问题随时问我,我一枚8年Java攻城师

回答2:

这是我写的一个例子,你可以参考一下;

回答3:

	List list = new ArrayList();

String[] a1 = { "a1", "a2" };

list.add(a1);

String[] a2 = { "b1", "b2", "b3", "b4" };

list.add(a2);

String[] a3 = new String[a1.length + a2.length];

for (int h = 0; h < list.size(); h++) {

String[] array = list.get(h);

if (h == 0) {

for (int j = 0; j < a1.length; j++) {

a3[j] = array[j];

}

}

if (h == 1) {

for (int i = a1.length; i < a3.length; i++) {

a3[i] = array1[i - a1.length];

}

}

}

}

应该是可以的