java – 从Set中删除元素

前端之家收集整理的这篇文章主要介绍了java – 从Set中删除元素前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试删除一组中长度均匀的所有字符串.到目前为止,这是我的代码,但是我无法从增强型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();
    }       
}

请注意对Iterator.remove()的调用,而不是对Set.remove()的调用.

原文链接:https://www.f2er.com/java/127650.html

猜你在找的Java相关文章