private void removeLettersFromMakeWords(List<String> a, List<String> b){
Iterator<String> i = a.iterator();
for(String s:b)
while (i.hasNext()) {
Object o = i.next();
if(o.toString().equals(s)){
i.remove();
break;
}
}
}
반복자를 사용하여 목록을 반복하고 일치하는 항목이 있으면 목록에서 요소를 제거합니다. 예 : a
= [a, y, f, z, b]
및 b
는 = [a, f]
경우 -> 출력 것이다 a
= [a, y, f, z, b]
a
및 b
가 = [f, a]
경우 [y, z, b
]Android : 목록에서 요소를 반복자로 제거
문제는 -> 출력 될 것이다 = a, y, z, b
] a
이터레이터는 처음에 [a
] 값을 제거하지 않습니다. iterator를 초기화 할 수있는 방법이 있나요? break
반복자가 처음부터 시작될 때마다? 아니면이 문제를 해결할 더 좋은 방법이 있습니까?
이터레이터를 재설정하지 않는 것이 문제입니다. 간단히 b의 각 문자열에 대해 새로운 반복자를 만들 수 있습니다. 그러나 모든 코드 대신'a.removeAll (b)'를 사용하는 것이 좋습니다. – njzk2
덕분에 훨씬 편리합니다 – user2456977