java - 如何以所需格式打印数组列表?

标签 java arraylist

我在java中使用arraylist。 我写了以下代码:

public void myfunction() {
    cmdMessage="str1 : root;str2 : cisco123,12345,2345;str1 : root234;str2 : cccccc";

    String[] splitMessage = cmdMessage.split(";");
    System.out.println("string length is \n" + splitMessage.length);
    ArrayList<String> mylist = new ArrayList<>();
    ArrayList<ArrayList> finalresult = new ArrayList<>();

    for (int i= 0; i<= splitMessage.length-1;i++){

      if(splitMessage[i]!=null){
        if (splitMessage[i].contains("str1")){
            System.out.println("splitted string is "+ (splitMessage[i]).split(":")[1].trim());
            mylist.add(((splitMessage[i]).split(":")[1]).trim());
        }
        if (splitMessage[i].contains("str2")){
            System.out.println("str2 length is ..." + splitMessage[i].length());
            System.out.println("splitted str2 string is "+ (splitMessage[i]).split(":")[1].trim());
            mylist.add(((splitMessage[i]).split(":")[1]).trim());
        }
      }
      finalresult.add(mylist);  
    }
}

这个 Java 函数给出的结果为:

[[root, cisco123,12345,2345, root234, cccccc],[root, cisco123,12345,2345, root234, cccccc]]

但我想要这样的结果:

[[root, cisco123,12345,2345], [root234, cccccc]]

我认为我在某处缺少声明/初始化技巧。

如何得到这个结果?

最佳答案

尝试将 mylist 的初始化移至 for 循环中。

关于java - 如何以所需格式打印数组列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20652892/

相关文章:

Java 日期和标准格式

java - httpclient - 在 POST 消息中使用 cookie

java - 自动移除 ActiveMQ 中不活跃的持久消费者

Java 泛型——推断嵌套类型

java - 将对象添加到 arrayList

java - 从文件夹中读取 Java 流中的文件名

java - 有 Intent 的 case 语句 switch

java - 如何使用 Stream Java 8 并行化 Java 程序

java - 如何创建一个二维ArrayList?

java - 使用并发运行的线程将单词添加到数组列表