java - 将数组列表更改为列表列表java

标签 java arraylist

我有两个列表,我想制作一个列表列表。出于某种原因,在我打印出每个列表后,我在数组中得到了一个巨大的条目。我正在使用来自 HashMap 的数据,需要拆分键字符串以取回值,然后将整数转换为字符串以添加到数组。

    ArrayList<ArrayList<String>> listOLists = new ArrayList<ArrayList<String>>();
    ArrayList<String> singleList = new ArrayList<String>();
        for (Entry<String, Integer> entry : counts.entrySet()) {
              String val = entry.getValue().toString();               
              List<String> key = Arrays.asList(entry.getKey().split("@"));
              singleList.add(key.get(0));
              singleList.add(key.get(1));
              singleList.add(key.get(2));
              singleList.add(val);
              listOLists.add(singleList);
        }


        for(ArrayList<String> s: listOLists){
            System.out.println(s);
        }

我得到:

[Demo-Site, 172.20.58.160, 2015-08-06, 12, Demo-Site, 10.227.145.103, 2015-08-19, 1, Demo-Site, 10.7.0.146, 2015-08-11, 3,

我希望最终输出看起来像这样:

[[Demo-site, 172.20.58.160, 2015-08-06, 12], [Demo-site, 10.227.145.103, 2015-08-19, 1]..etc]

最佳答案

这是因为您在每次迭代中都添加了同一个列表。 只需将 singleList = new ArrayList();在 tle 循环体中。

关于java - 将数组列表更改为列表列表java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32208870/

相关文章:

java - 为什么我的 JRadioButton 在这种情况下不起作用?

java - TemporalAdjuster - 从调整后的日期获取下一个日期

java - for 循环中的构造函数

Java ArrayList<String[]>

java - 字符数组的arraylist java

java - 集群上的 Tomcat 7.0.47 session 复制问题

java - 从 map 中随机选择 n 个项目

java - 如何在 JDK 9 或更高版本中获取引导类路径

Java:如何绑定(bind)两个不同数组的值

java - 使用条件 Java 填充列表内的列表