我有一個列表的列表,我想添加一個列表到它,而不是重複。在其他這樣做,我想檢查列表是否已經包含在主列表中。我寫了這樣的事情檢查ArrayList是否包含另一個ArrayList作爲元素
import java.util.ArrayList;
public class Test{
public static void main(String [] args)
{
ArrayList<ArrayList<String>> Main = new ArrayList<>();
ArrayList<String> temp = new ArrayList<>();
temp.add("One");
temp.add("Two");
temp.add("Three");
Main.add(temp);// add this arraylist to the main array list
ArrayList<String> temp1 = new ArrayList<>();
temp1.add("One");
temp1.add("Two");
temp1.add("Three");
if(!Main.containsAll(temp1)) // check if temp1 is already in Main
{
Main.add(temp1);
}
}
}
當我打印的Main
內容,我同時獲得temp
和temp1
。我怎樣才能解決這個問題?
你應該做'Main.add(new ArrayList(temp));'。直接添加temp會設置一個對temp變量(對象)的引用,這不是你想要的。 –
progyammer