我正在尝试删除一组中长度均匀的所有字符串.到目前为止,这是我的代码,但是我无法从增强型for循环中的迭代器中获取索引.
public static void removeEvenLength(Set<String> list) { for (String s : list) { if (s.length() % 2 == 0) { list.remove(s); } } }
解决方法
集合没有元素索引的概念.元素在集合中没有顺序.此外,迭代时应使用迭代器,以便在循环时从集合中删除元素时避免使用
ConcurrentModificationException
:
for (Iterator<String> iterator = list.iterator(); iterator.hasNext();) { String s = iterator.next(); if (s.length() % 2 == 0) { iterator.remove(); } }