代码之家  ›  专栏  ›  技术社区  ›  Björn Ternes

将矩阵从textfile解析为arraylist

  •  0
  • Björn Ternes  · 技术社区  · 6 年前

    我目前正试图将内容从文本文件解析到Java中的列表。但基本上我很困惑,因为它不像我期望的那样工作。

    代码:

    if (charArray[i] == 'R') {
       ArrayList<Integer> C = new ArrayList<Integer>();
       ArrayList<Integer> T = new ArrayList<Integer>();
                 for(int q = 0; q < input.geta()*6; q++) {
                     q++;
                     C.add((int) charArray[q+1]-48);
                 }
    
       ArrayList<ArrayList<Integer>> C_C = new ArrayList<ArrayList<Integer>>();
       C_C.clear();
       int element = -1;
       for(int t = 0; t < C.size(); t++) {
           element++;
           if(element == input.geta()) {
              element = 0;
              System.out.println("add " + (ArrayList<Integer>) T);
              C_C.add((ArrayList<Integer>) T);
              T.clear();
            }
            T.add(C.get(t));
        }
        System.out.println("add " + (ArrayList<Integer>) T);
        C_C.add((ArrayList<Integer>) T);
        System.out.println("is " + C_C);
        input.setR(C_C);  
    }
    

    输出:

    add [2, 0, 0, 1]
    add [1, 0, 1, 0]
    add [2, 1, 0, 0] 
    is [[2, 1, 0, 0], [2, 1, 0, 0], [2, 1, 0, 0]]
    

    我的文本文件包含: R=2,0,0,1,1,0,1,0,2,1,0,0
    input.geta()是4

    我的3x4矩阵应该如下所示:
    2 0 0 1
    1 0 1 0
    2 1 0 0

    1 回复  |  直到 6 年前
        1
  •  1
  •   xingbin    6 年前

    你也在做同样的事 ArrayList 总是。

    相反,您需要创建一个新的 阵列列表 每次都把它放进去 C_C 以下内容:

    C_C.add(new ArrayList<>(T));