Appendix B. Miscellaneous library updates
The biggest update to the Collections API is the introduction of streams, which we discussed in chapters 4–6. There are also other updates, which we briefly review in this appendix.
The Java API designers made the most out of default methods and added several new methods to collection interfaces and classes. The new methods are listed in table B.1.
Table B.1. New methods added to collection classes and interfaces
Class/interface |
New methods |
---|---|
Map | getOrDefault, forEach, compute, computeIfAbsent, computeIfPresent, merge, putIfAbsent, remove(key, value), replace, replaceAll |
Iterable | forEach, spliterator |
Iterator | forEachRemaining |
Collection | removeIf, stream, parallelStream |
List | replaceAll, sort |
BitSet | stream |
The Map interface is the most updated interface, with support for several new convenient methods. For example, the method getOrDefault can be used to replace an existing idiom that checks whether a Map contains a mapping for a given key. If not, you can provide a default value to return instead. Previously you would do this:
You can now more simply do the following: