如何将两个List <string>合并为一个List <string>?</string> </string>

时间:2014-03-20 07:02:32

标签: java string arraylist merge

我看到其他一些关于同一件事的问题,但其中任何一个都解决了我的问题。可能是因为我没有得到它的概念。

我有两个List<String>

List<String> PlatformInfo1 = new ArrayList
List<String> PlatformInfo2 = new ArrayList

这些列表包含了我数据库中的一些信息:

PlatformInfo1= [{"Nnodes":"163"}]
PlatformInfo2= [{"Commnet":"Windows Machine"}]

为了与每个元素进行交互,我尝试将两个数组都包含在一个对象List<String>中:

List<String> PlatformInfoGI = new ArrayList<String>();
PlatformInfoGI.addAll(PlatformInfo1);
PlatformInfoGI.addAll(PlatformInfo2);

我得到的结果是:

Value of PlatformInfoGI: [{"Nnodes":"163"},{"Commnet":"Windows Machine"}]

可以做些什么来将List<String>转换成类似的东西:

 Value of PlatformInfoGI: [{"Nnodes":"163","Commnet":"Windows Machine"}]

NOTE元素之间缺少大括号。

我想得的是一个List<String>,只有一个元素和不同的属性(字符串)

3 个答案:

答案 0 :(得分:1)

使用apache commons collections'ListUtils.union(java.util.List list1, java.util.List list2)

  

返回一个新列表,其中包含附加到第一个列表的第二个列表   名单。 List.addAll(Collection)操作用于追加两者   将列表列入新列表。

答案 1 :(得分:0)

稍微修改,

列出PlatformInfo1 = new ArrayList();

列出PlatformInfo2 = new ArrayList();

    PlatformInfo1.add("Nnodes");
    PlatformInfo1.add("163");

    PlatformInfo2.add("Commnet");
    PlatformInfo2.add("Windows Machine");

    List<String> PlatformInfoGI = new ArrayList<String>();
    PlatformInfoGI.addAll(PlatformInfo1);
    PlatformInfoGI.addAll(PlatformInfo2);

    System.out.println(PlatformInfoGI);

这将打印结果为:[Nnodes,163,Commnet,Windows Machine]

P.S:我可以知道您正在使用哪个IDE吗?

答案 2 :(得分:0)

我不认为有结果显示结果如下: Value of PlatformInfoGI: [{"Nnodes":"163"},{"Commnet":"Windows Machine"}]

对于这样的结果,它是一个包含2个对象的列表,而您已将列表定义为: **List<String>** PlatformInfoGI = new **ArrayList<String>**(); PlatformInfoGI.addAll(PlatformInfo1); PlatformInfoGI.addAll(PlatformInfo2);

可以通过示例代码向我显示控制台中的结果吗?