Java 8 has brought major changes in the Collection API. Some of the changes are:
1.Java Stream API for collection classes for supporting sequential as well as parallel processing
Collection.java 接口新增如下方法
default Stream<E> stream() {
return StreamSupport.stream(spliterator(), false);
}
default Stream<E> parallelStream() {
return StreamSupport.stream(spliterator(), true);
}
2.Iterable interface is extended with forEach() default method that we can use to iterate over a collection. It is very helpful when used with lambda expressions because it’s argument Consumer is a function interface.
Iterable接口新增如下方法
default void forEach(Consumer<? super T> action) {
Objects.requireNonNull(action);
for (T t : this) {
action.accept(t);
}
}
3.Miscellaneous Collection API improvements such as forEachRemaining(Consumer action) method in Iterator interface, Map replaceAll(), compute(), merge() methods.
Iterator 迭代器通过 forEachRemaining()方法实现增强for循环.
public static void test(List<String> list) {
list.iterator().forEachRemaining(str->{
System.out.println(str);
});
}