上面我注意到一个示例,该示例从循环中的列表中删除项目,并且想到了另一个示例,该示例这次可以使用该Iterator界面派上用场。
这是一个技巧的演示,该技巧在处理要摆脱的列表中的重复项时可能会派上用场。
注意:这仅添加到循环示例中的“从列表中删除项目”上:
因此,让我们像往常一样定义列表
String[] names = {"James","Smith","Sonny","Huckle","Berry","Finn","Allan"}; List<String> nameList = new ArrayList<>(); //从数组创建列表 nameList.addAll(Arrays.asList(names)); String[] removeNames = {"Sonny","Huckle","Berry"}; List<String> removeNameList = new ArrayList<>(); //从数组创建列表 removeNameList.addAll(Arrays.asList(removeNames));
以下方法接收两个Collection对象,并执行了删除与中的元素removeNameList匹配的元素的妙处nameList。
private static void removeNames(Collection<String> collection1, Collection<String> collection2) { //获取迭代器。 Iterator<String> iterator = collection1.iterator(); //在收藏有物品时循环 while(iterator.hasNext()){ if (collection2.contains(iterator.next())) iterator.remove(); //删除当前的名称或项目 } }
调用方法并按如下所示传递nameList和将产生以下输出:removeNameListremoveNames(nameList,removeNameList);
删除名称之前的数组列表: James Smith Sonny Huckle Berry Finn Allan
删除名称之后的数组列表: James Smith Finn Allan
集合的一种简单易用的用法,可以方便地删除列表中的重复元素。