865 @Override public void replaceAll(BiFunction<? super K,? super V,? extends V> f) { throw uoe(); }
866 }
867
868 static final class Map1<K,V> extends AbstractImmutableMap<K,V> {
869 @Stable
870 private final K k0;
871 @Stable
872 private final V v0;
873
874 Map1(K k0, V v0) {
875 this.k0 = Objects.requireNonNull(k0);
876 this.v0 = Objects.requireNonNull(v0);
877 }
878
879 @Override
880 public Set<Map.Entry<K,V>> entrySet() {
881 return Set.of(new KeyValueHolder<>(k0, v0));
882 }
883
884 @Override
885 public boolean containsKey(Object o) {
886 return o.equals(k0); // implicit nullcheck of o
887 }
888
889 @Override
890 public boolean containsValue(Object o) {
891 return o.equals(v0); // implicit nullcheck of o
892 }
893
894 private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {
895 throw new InvalidObjectException("not serial proxy");
896 }
897
898 private Object writeReplace() {
899 return new CollSer(CollSer.IMM_MAP, k0, v0);
900 }
901
902 @Override
903 public int hashCode() {
904 return k0.hashCode() ^ v0.hashCode();
|
865 @Override public void replaceAll(BiFunction<? super K,? super V,? extends V> f) { throw uoe(); }
866 }
867
868 static final class Map1<K,V> extends AbstractImmutableMap<K,V> {
869 @Stable
870 private final K k0;
871 @Stable
872 private final V v0;
873
874 Map1(K k0, V v0) {
875 this.k0 = Objects.requireNonNull(k0);
876 this.v0 = Objects.requireNonNull(v0);
877 }
878
879 @Override
880 public Set<Map.Entry<K,V>> entrySet() {
881 return Set.of(new KeyValueHolder<>(k0, v0));
882 }
883
884 @Override
885 public V get(Object o) {
886 return o.equals(k0) ? v0 : null; // implicit nullcheck of o
887 }
888
889 @Override
890 public boolean containsKey(Object o) {
891 return o.equals(k0); // implicit nullcheck of o
892 }
893
894 @Override
895 public boolean containsValue(Object o) {
896 return o.equals(v0); // implicit nullcheck of o
897 }
898
899 private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {
900 throw new InvalidObjectException("not serial proxy");
901 }
902
903 private Object writeReplace() {
904 return new CollSer(CollSer.IMM_MAP, k0, v0);
905 }
906
907 @Override
908 public int hashCode() {
909 return k0.hashCode() ^ v0.hashCode();
|