簡體   English   中英

將其元素添加到另一個列表后清除列表

[英]Clear a list after adding its elements to another 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);

}
}

這是因為,該聲明

propozitii.add(propozitie);

將對propozitie的引用添加到propozitii列表中。 沒有添加對象的副本。 要進行復制,請使用它。

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

現在你可以清除propozitie

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM