java – 失败快速迭代器
发布时间:2020-12-15 05:10:04 所属栏目:Java 来源:网络整理
导读:我得到了这个定义:正如名称所暗示的那样,一旦他们意识到自迭代开始以来Collection的结构已经改变,那么失败快速迭代器就会失败. 迭代开始以来意味着什么?这意味着Iterator it = set.iterator()这行代码? public static void customize(BufferedReader br)
我得到了这个定义:正如名称所暗示的那样,一旦他们意识到自迭代开始以来Collection的结构已经改变,那么失败快速迭代器就会失败.
迭代开始以来意味着什么?这意味着Iterator it = set.iterator()这行代码? public static void customize(BufferedReader br) throws IOException{ Set<String> set=new HashSet<String>(); // Actual type parameter added **Iterator it=set.iterator();** 解决方法
首先,它们是快速失败的,而不是故障安全的.
合同是某些类型的集合的结构修改(即插入/删除)使现有的迭代器无效到集合中.失败快速迭代器尝试检测它们不应该是有效的并抛出 在你的例子中: Iterator it = set.iterator(); it.next(); set.add("unique-entry"); // invalidates the iterator it.next(); 如果你很幸运,第二个it.next()将检测无效使用并抛出异常.请注意,这是在尽力而为的基础上完成的,并不能保证. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |