javaremoveif用法
removeif是Java 8添加的新抽象方法,是java.util.Collection接口新增的一个默认方法。它接收一个函数式接口作为参数,并传入参数值,如果判断为True,则从集合中删除该元素。他的用法非常简单,但提供了一种极其高效的处理集合将其从集合中删除的方法。
下面是removeIf的语法:
boolean removeIf( Predicate < ? super E > filter )
removeIf是一个默认方法,接受一个Predicate对象作为参数,返回一个boolean值,表示是否有元素被删除。
例如,从ArrayList中删除长度大于3的字符串:
String [] names = { "Bob", "John", "Tim", "Zoe", "Will" };
ArrayList<String> list = new ArrayList<>(Arrays.asList(names));
veIf(name -> name.length( > 3);
输出结果为:[Bob, John, Tim, Will]
java arraylist用法removeIf比迭代器更高效,因为它不需要创建迭代器,也不需要每次调用next(。实际上,removeIf更有效,它只会扫描一次集合。所以,它会比迭代器和for-each更有效。
除了从集合中删除元素,removeIf还可以和其他函数式方法一起使用,例如map,sort,filter等。
如下:
List <String> lines = (""));
veIf(line -> line.startsWith("#"));
这里removeIf判断每行文本是否以#号开头,如果是,则删除。
总的来说,removeIf是一个非常有用的工具,可以让你非常容易,而且高效的从集合中删除元素。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论