Java的类库类型和功能极其强大,最近这段时间在面试中我才逐渐发现以前自己编的代码还是太少,没能领会到一些比较骚的操作,接下来的时间我会慢慢探索Java更深入的功能,一边学一边写写博客记录和骗骗博客访问量。
首先是利用removeif删除ArrayList中指定条件的数据,这个是我在OPPO面试中被问到的问题。原问题是:如何删除一个ArrayList中的所有偶数。我提出了遍历的做法,后面面试官问我知不知道高级的做法,回来便看了一下ArrayList有关的API,找到了removeif方法。利用removeif方法删除偶数数据的做法如下:
public class T{
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<Integer>();
for(int i=0;i<10;i++) {
list.add(i);
}
System.out.println(list.toString());
list.removeIf(i->i%2==0);
System.out.println(list.toString());
}
}
起到作用的是list.removeIf(i->i%2==0)一句。ArrayList的removeIf方法参数列表里面是Predicate<? super E> filter,具体的Predicate解释后续再补充。简单的使用可以模仿上面的代码,将i看做ArrayList集合里面每一个数据,->之后是删除满足的条件。
今晚暂时到这里,后续再写