@Override public boolean contains(final Object e) { if(!(e instanceof Entry)) return false; V value = get(((Entry<?,?>)e).getKey()); return value!=null && value.equals(((Entry<?,?>)e).getValue()); } };
@Override public boolean contains(final Object e) { if(!(e instanceof Entry)) return false; V value = get(((Entry<?,?>)e).getKey()); return value!=null && value.equals(((Entry<?,?>)e).getValue()); } };
public void testSerializationForHashPMap() { final HashPMap<String, Long> initialHashPMap = HashTreePMap.<String, Long> empty() .plus("key001", 23L) .plus("key002", 29L) .plus("key003", 31L); final byte[] serializedThirdPHashPMap = serializeToByteArray(initialHashPMap); assertNotNull(serializedThirdPHashPMap); assertTrue(serializedThirdPHashPMap.length > 0); @SuppressWarnings("unchecked") final HashPMap<String, Long> deserializedHashPMap = (HashPMap<String, Long>) deserializeFromByteArray(serializedThirdPHashPMap, HashPMap.class); assertNotNull(deserializedHashPMap); assertEquals(Long.valueOf(23L), deserializedHashPMap.get("key001")); assertEquals(Long.valueOf(29L), deserializedHashPMap.get("key002")); assertEquals(Long.valueOf(31L), deserializedHashPMap.get("key003")); assertNotSame(initialHashPMap, deserializedHashPMap); assertEquals(initialHashPMap, deserializedHashPMap); }
@Override public V get(Object key) { return entries.get(key); }
@Override public boolean contains(final Object e) { if(!(e instanceof Entry)) return false; V value = get(((Entry<?,?>)e).getKey()); return value!=null && value.equals(((Entry<?,?>)e).getValue()); } };
@Override public boolean contains(final Object e) { if (!(e instanceof Entry)) return false; V value = get(((Entry<?, ?>) e).getKey()); return value != null && value.equals(((Entry<?, ?>) e).getValue()); } };
/** * @param map Collection. * @param evt Event. * @return Cloned map. */ @Nullable protected static <E> Map<E, Integer> removeFromMap(@Nullable Map<E, Integer> map, E evt) { if (map == null) return null; HashPMap<E, Integer> res = (HashPMap<E, Integer>)map; Integer cnt = res.get(evt); return cnt == null ? res : cnt == 1 ? res.minus(evt) : res.minus(evt).plus(evt, cnt - 1); }
/** * @param map Collection. * @param evt Event. * @return Cloned map. */ protected static <E> Map<E, Integer> addToMap(@Nullable Map<E, Integer> map, E evt) { HashPMap<E, Integer> res = map == null ? HashTreePMap.<E, Integer>empty() : (HashPMap<E, Integer>)map; Integer cnt = res.get(evt); return cnt != null ? res.minus(evt).plus(evt, cnt + 1) : res.plus(evt, 1); }