将其元素添加到另一个列表后清除列表

时间:2015-11-21 16:42:12

标签: java list

我正在做一个程序,可以将更多的句子作为参数。我制作了两个列表,一个名为" propozitie",其中包含每个句子,一个名为" propozitii",其中包含所有句子。

问题是:当我清除" propozitie"列表符合"。"后,它也会清除" propozitii"列表,它最后打印3个空列表。

输入数据:

  安德烈去那里。安德烈踢足球。我喜欢待在家里。

任何人都可以帮助我吗? 提前谢谢。

import java.util.ArrayList;
import java.util.List;

public class Propozitie {

private static List<List<String>> propozitii;
private static List<String> propozitie;

public static void main(String args[]) {

    propozitii = new ArrayList<List<String>>();
    propozitie = new ArrayList<String>();

    for (String arg : args) {
        propozitie.add(arg);

        if (arg.contains(".")) {
            propozitii.add(propozitie);
            propozitie.clear();
        }

    }

    System.out.println(propozitii);

}
}

1 个答案:

答案 0 :(得分:4)

这是因为声明

propozitii.add(propozitie);

将propozitie的引用添加到propozitii列表中。不添加对象的副本。要复制,请使用此功能。

propozitii.add(new ArrayList<String>(propozitie));

现在您可以清除 propozitie