-
Notifications
You must be signed in to change notification settings - Fork 10.9k
Release23
Colin Decker edited this page Aug 7, 2017
·
3 revisions
- 23.0 was released on August 4, 2017.
- 23.0-rc1 was released on July 25, 2017.
(See ReleaseHistory.)
Java 8:
Android / Java 7:
Guava | Guava (Android) | Guava (GWT) | |
---|---|---|---|
Maven Identifier | com.google.guava:guava:23.0 | com.google.guava:guava:23.0-android | com.google.guava:guava-gwt:23.0 |
Jar | guava-23.0.jar | guava-23.0-android.jar | guava-gwt-23.0.jar |
Javadoc | guava-23.0-javadoc.jar | guava-23.0-android-javadoc.jar | guava-gwt-23.0-javadoc.jar |
Sources | guava-23.0-sources.jar | guava-23.0-android-sources.jar | guava-gwt-23.0-sources.jar |
See UseGuavaInYourBuild for help integrating Guava into your build environment.
- Java 8: Full JDiff Report of changes since release 22.0.
- Android: Full JDiff Report of changes since release 22.0.
-
ContiguousSet
: new convenience methods for closed or closed-open sets ofInteger
s orLong
s -
Set<Set<E>> Sets.combinations(Set<E> set, int size)
: returns all subsets of the given set that have the given size
- New types:
SuccessorsFunction
/PredecessorsFunction
- These interfaces are each supertypes of
Graph
/ValueGraph
/Network
. They have a few purposes:- scaffolding for migrating the capabilities of
TreeTraverser
intocommon.graph
- facilitating users using their own graph data structures (when they don’t need the full
common.graph
API)
- scaffolding for migrating the capabilities of
- These interfaces are each supertypes of
- New methods on
Network
for the case when there is known to be at most one edge connecting two nodes-
java.util.Optional<E> edgeConnecting(N nodeU, N nodeV)
: Java 8 version only -
E edgeConnectingOrNull(N nodeU, N nodeV)
: all versions
-
- New method for
Graph
/ValueGraph
/Network
-
boolean hasEdgeConnecting(N nodeU, N nodeV)
: this is the preferred mechanism for determining whether there is an edge that connects two nodes
-
- Changes to methods for accessing edge values in
ValueGraph
- old method:
V edgeValue(N nodeU, N nodeV)
, throwsIllegalArgumentException
if no such edge exists - new method (Java 8 only):
java.util.Optional<V> edgeValue(N nodeU, N nodeV)
, returnsOptional.empty()
if no such edge exists - (no change to
@Nullable V edgeValueOrDefault(N nodeU, N nodeV, @Nullable V defaultValue)
) (Java 7 & 8)
- old method:
-
BloomFilter
- is now thread-safe
- added
Collector
s for creating aBloomFilter
from the contents of aStream
-
PrimitiveSink
,Hasher
andHashFunction
: methods added to all for putting/hashingByteBuffer
s
- New type:
FluentFuture
- A
ListenableFuture
that supports fluent chains of operations
- A
-
AbstractFuture
has been retrofitted to extend the newFluentFuture
type. If you subclassAbstractFuture
to add fluent methods liketransform()
, this may break you. If so, please report the problem. -
Futures
: new methodsscheduleAsync(AsyncCallable, long, TimeUnit, ScheduledExecutorService)
andsubmitAsync(AsyncCallable, Executor)
- Introduction
- Basic Utilities
- Collections
- Graphs
- Caches
- Functional Idioms
- Concurrency
- Strings
- Networking
- Primitives
- Ranges
- I/O
- Hashing
- EventBus
- Math
- Reflection
- Releases
- Tips
- Glossary
- Mailing List
- Stack Overflow
- Android Overview
- Footprint of JDK/Guava data structures