工作踩得坑之二条件删除链表中的元素
2016-05-30 21:25
274 查看
自从上次踩坑了之后,我觉得我的思想还不成熟,于是又跑去看了一些链表的源码,于是发现java8给提供了一个非常好的方法:
package com. wang.utils ;
import java. util.ArrayList ;
import java. util.List ;
import java. util.function .Predicate;
public class ListDemo {
}
你只需要将你的条件封装在Predicate中,传给该方法就可以。但是要记住这个方法返回值不是一个链表,当返回值为true,时你的链表就已经把满足条件的元素删除了。
package com. wang.utils ;
import java. util.ArrayList ;
import java. util.List ;
import java. util.function .Predicate;
public class ListDemo {
public static void main(String [] args ) { List<Integer > name = new ArrayList< Integer>() ; for(int i =0; i<=8 ;i++ ){ name .add( i); } Predicate<Integer > filter = ( n) -> n.compareTo( 4) == - 1; //移除满足条件的元素 name .removeIf( filter); for(Integer e : name){ System.out .println( e + "__result"); } }
}
你只需要将你的条件封装在Predicate中,传给该方法就可以。但是要记住这个方法返回值不是一个链表,当返回值为true,时你的链表就已经把满足条件的元素删除了。