2 つのリストがあり、list1 を繰り返しています。list1 の現在の項目が list2 に存在する場合、list1 のプロパティを変更する必要があります。
リストは単なるオブジェクトのリストです:
list1 = [ObjectVO, ObjectVO]
list2 = ['w', 'x', 'y', 'z']
ObjectVO.getId() は、「w」、...「z」などの文字列を返します。
私のコードは次のとおりです。
Iterator it = list1.iterator();
while(it.hasNext()){
objVO = (ObjectVO) it.next();
if(list2.contains(objVO.getId()){
objVO.setFlag(true);
}
}
ここでの問題は、objVO.setFlag(true) が常に実行されていることです。list2 には list 1 のすべてのアイテムが含まれるようですが、そうではありません。list 2 は list1 のサブセットにすぎないため、それらすべてに対して true と評価されるべきではありません。
これを修正するにはどうすればよいですか、またはこれを達成するためのより良い方法はありますか?