自从上次踩坑了之后,我觉得我的思想还不成熟,于是又跑去看了一些链表的源码,于是发现java8给提供了一个非常好的方法:
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,时你的链表就已经把满足条件的元素删除了。