From 54bf37007959065d5a2c3b7a9d5062f9c682dc4c Mon Sep 17 00:00:00 2001 From: Viktor Klang Date: Fri, 14 Apr 2023 09:16:16 +0000 Subject: [PATCH] 8170945: Collectors$Partition should override more Map methods Reviewed-by: smarks --- .../classes/java/util/stream/Collectors.java | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/src/java.base/share/classes/java/util/stream/Collectors.java b/src/java.base/share/classes/java/util/stream/Collectors.java index db2169e5a10..54d1d4acd73 100644 --- a/src/java.base/share/classes/java/util/stream/Collectors.java +++ b/src/java.base/share/classes/java/util/stream/Collectors.java @@ -1972,6 +1972,35 @@ public final class Collectors { this.forFalse = forFalse; } + @Override + public int size() { + return 2; + } + + @Override + public boolean isEmpty() { + return false; + } + + @Override + public T get(Object key) { + if (key instanceof Boolean b) { + return b ? forTrue : forFalse; + } else { + return null; + } + } + + @Override + public boolean containsKey(Object key) { + return key instanceof Boolean; + } + + @Override + public boolean containsValue(Object value) { + return Objects.equals(value, forTrue) || Objects.equals(value, forFalse); + } + @Override public Set> entrySet() { return new AbstractSet<>() {