我想插入一個列表中的值,但僅當這些值不在其中。我的代碼到目前爲止創建了一個無限循環,因爲當我將值添加到列表中時,列表的大小也會增加,因此無法滿足for循環的終止條件。這是一個更大的程序的一部分,e是一種擴展Point的對象。 請注意: e擴展點。 e有一個值(除了從Point繼承的座標外)。 如果列表爲空,我會將e存儲在列表中。列表是e類型的。 如果列表不是空的,我檢查是否存在與我輸入的電子地址相同的電子地址。我不檢查e對象,而是檢查x和y值是否匹配。 更新代碼:如何檢查一個值是否已經在ArrayList中插入Java之前?
List<e> listClosestFirst = new LinkedList<e>();
if (listClosestFirst.isEmpty()) {
listClosestFirst.add(e);
}
else {
for (int i = 0; i < listClosestFirst.size(); i++) {
if ((e.getLocation()).equals((listClosestFirst.get(i)).getLocation())) {
// do nothing, move on
} // end if
else {
listClosestFirst.add(e);
}
} // end for loop
} // end else statement
System.out.println("Closest First Memory: " + listClosestFirst);
這可能有助於...... ['LinkedList#contains'](http://docs.oracle.com/javase/7/docs/api/java/util/LinkedList.html#contains%28java.lang.Object %29) – MadProgrammer 2013-05-10 02:01:01
這是否與旅行商問題有關? – 2013-05-10 02:06:38
如果你更詳細地解釋你在做什麼,我們可以幫你清理你的代碼。或者提供代碼樣本來幫助你。 – 2013-05-10 02:31:04