众所周知,在Java中,集合类分为两种:单列集合Collection和键值对集合Map。我想只要是个玩Java的,怎么操作这些集合应该都是手到擒来。但是,在Java8中出现了Lambda表达式,因此对这些集合的操作又有了新的API。我这里简单总结一下,供大家参考。
Iterable新增forEach方法
Iterable属于Collection的父接口,因此凡是属于Collection的子类,都可以使用该方法进行元素遍历。
示例代码如下所示:
public class TestList {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("Tom");
list.add("Jerry");
list.add("Spike");
list.forEach(ele -> System.out.println(ele));
}
}
执行结果如下图所示:
Iterator新增forEachRemaining方法
有时候我们会使用Iterator的方式来对集合进行遍历,因此,只要能拿到Iterator对象,就可以使用该方法进行迭代器元素的遍历。
示例代码如下所示:
public class TestList {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("Tom");
list.add("Jerry");
list.add("Spike");
Iterator<String> iter = list.iterator();
iter.forEachRemaining(ele -> System.out.println(ele));
}
}
执行结果如下图所示:
Collection新增removeIf方法
在Java8中,Collection接口新增了removeIf方法,通过该方法可以按条件删除元素。
示例代码如下所示:
public class TestList {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("Tom");
list.add("Jerry");
list.add("Spike");
list.removeIf(ele -> ele.length() > 3);
System.out.println(list);
}
}
执行结果如下图所示:
List新增sort和replaceAll方法
- sort方法
在Java8中,List接口新增了sort和replaceAll方法,通过sort方法可以对List集合中的元素进行排序。
示例代码如下所示:
public class TestList {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("Tom");
list.add("Jerry");
list.add("Alice");
list.add("Tony");
list.sort(Comparator.comparing(ele -> ele.length(), (o1, o2) -> o2 - o1));
System.out.println(list);
}
}
执行结果如下图所示: