リストに値を挿入したいのですが、値がまだリストにない場合に限ります。リストに値を追加すると、リストのサイズも大きくなり、for ループの終了条件が満たされる方法がないため、これまでのコードは無限ループを作成します。これはより大きなプログラムの一部です。e は Point を拡張するオブジェクトの型です。次の点に注意してください。 e は Point を拡張します。e には値があります (Point から継承する座標に加えて)。リストが空の場合、リストに e を格納します。リストは e 型です。List が空でない場合は、入力している e と同じポイント位置の e がリストに存在するかどうかを確認します。e オブジェクトをチェックするのではなく、x と y の値が一致するかどうかをチェックします。更新されたコード:
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);