为什么不将元素放在新列表的字符串上?

时间:2015-03-08 16:10:18

标签: java string list

我有一个字符串列表列表,我希望从中获取一些字符串,以将它们存储在一个新的字符串列表中。这是代码:

    List<List<String>> colectieTotala = new ArrayList<>();
    List<List<String>> dePusInRaport = new ArrayList<>();
    List<String> listaPentruTest = new ArrayList<>();
    int i = 0;

    dePusInRaport.add(listaPentruTest);

for (int y = 0; y < colectieTotala.size(); y++) 
    {
        String categorie;
        String categorieCurenta = "";
        char spatiu = ' ';
        int h = 0;
        List<String> toateCategoriileCurente = new ArrayList<>();
        colectieTotala.get(y).get(0);
        categorie = colectieTotala.get(y).get(1);
        colectieTotala.get(y).get(4);

        if (categorie.contains(" "))
        {
            for (int k = 0; k < categorie.length(); k++)
            {
                for (int p = 0; p < dePusInRaport.size(); p++)
                {
                if ((categorie.charAt(k)) == spatiu)
                {
                    categorieCurenta = categorie.substring(h, k);
                    h = k+1;
                    dePusInRaport.get(p).add(categorieCurenta); 
                }

                if (k == categorie.lastIndexOf(spatiu))
                {
                    categorieCurenta = categorie.substring(k+1, categorie.length());
                    dePusInRaport.get(p).add(categorieCurenta);

                }


            }
            }

        }

    }
    System.out.println("dePusInRaport -> " + dePusInRaport);

问题是这段代码只将来自colectieTotala的字符串添加到来自dePusInRaport的第一个字符串列表中,我想要的是从colectieTotala获取字符串并将它们存储在dePusInRaport的新字符串列表中。如果您需要更多信息,请索取。我不太擅长解释。

那么,什么是System.out.println(“dePusInRaport - &gt;”+ dePusInRaport);打印到底是这样的:

  

[[戏剧,神秘,犯罪,戏剧,神秘,SF,戏剧,SF,Psihologic]]

但我想要这样的事情:

  

[[剧集] [神秘] [犯罪] [剧情] [神秘] [SF] [剧情] [SF] [Psihologic]]

我认为在那里有一个坏处,要么我只是忘了添加一个......

1 个答案:

答案 0 :(得分:0)

无法完全解释为无法理解您的native language, 但是你想要达到的目的就是这样。

假设你有

List<List<String>> mainList=new ArrayList<List<String>>();// in this you add

List<String> myList=Arrays.asList("ABC","PQR","XYZ");// Input List
    for(String s:myList)
    {  
          mainList.add(Arrays.asList(s));
    }
System.out.println(mainList);

输出

[[ABC], [PQR], [XYZ]]

点击此处查看 Live Demo

如果您要删除逗号,,我建议您使用override toString方法并以您想要的任何一种方式返回。