将两个arraylist转换为2D字符串

时间:2013-06-19 09:37:52

标签: java arraylist

在开发应用程序时遇到如下情况:

我有两个Arralylists - list1,list2,其值如:

list1 = [district1, district2, district3, district4, district5]
list2 = [service1, service2, service3, sevice4, service5]

现在我想将值存储在第三个arraylist中,list3就像:

list3 = [district1, service1, district2, service2, district3, service3, district4, service4, district5, service 5]

现在我需要将list3转换为二维String(values [] []),这将是:

values = [ [district1, service1], [district2, service2], [district3, service3], [district4, service4], [district5, service 5]]

基本上我需要值[] []。我不确定list3是否需要。我花了一整天的时间来研究这个问题,但是我找不到解决方案。非常感谢别人的帮助。提前谢谢。

3 个答案:

答案 0 :(得分:0)

假设列表包含Stringlist1.size() == list2.size()

String[][] values = new String[list1.size()][2];
for (int i = 0; i < list1.size(); i++) {
    values[0] = list1.get(i);
    values[1] = list2.get(i);
}

答案 1 :(得分:0)

如果list1和list2具有相同的元素数,则以下代码之类的内容应该适合您:

String[][] list3 = new String[list1.size()][2];

for (int i=0; i<list1.size(); i++) {
   list3[i][0] = list1.get(i);
   list3[i][1] = list2.get(i);
}

答案 2 :(得分:0)

假设两个列表的大小相同,以下代码会有所帮助:

public String[][] merge(List<String> list1, List<String> list2) {
        String[][] values = new String[list1.size()][];

        for(int i=0 ; i< list1.size() ; i++){
            values[i] = new String[2];
            values[i][0] = list1.get(i);
            values[i][1] = list2.get(i);
        }
        return values;
    }