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

如题所述

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

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

/**
 * 
 * 开发公司:SOJSON在线工具
 * 版权所有:© www.sojson.com
 * 博客地址:http://www.sojson.com/blog/
 * <p>
 * 
 * 注释写这里
 * 
 * <p>
 * 
 * 区分 责任人 日期    说明<br/>
 * 创建 周柏成 2017年4月2日  <br/>
 *
 * @author zhou-baicheng
 * @email  [email protected]
 * @version 1.0,2017年4月2日 <br/>
 * 
 */
public class Test {

    public static void main(String[] args) {
        //定义2个数组
        String [] array1 = {"1","2","3"};
        String [] array2 = {"4","5"};
    
        List<String [] > list = new ArrayList<String[]>();
        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<String > newList = new ArrayList<String>();
        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攻城师

追答

有问题可以以后再问我

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-04-02

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

追问

不是建立一个Arraylist的数组.是新建一个String的数组,把list装入String里遍历下.

追答

你这句话读着有点拗口。。。

本回答被提问者采纳
第2个回答  2017-04-02
List<String[]> list = new ArrayList<String[]>();

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];

}

}

}

}

应该是可以的

本回答被网友采纳
相似回答