@Override public boolean containsKey(Object key) { return getEntry(key) != null; }
@Override public boolean containsKey(Object key) { return getEntry(key) != null; }
@Override public Property get(Object key) { LinkedPropertyEntry entry = getEntry(key); return entry == null ? null : entry.getValue(); }
@Override public Property get(Object key) { LinkedPropertyEntry entry = getEntry(key); return entry == null ? null : entry.getValue(); }
private boolean verify() { assert (size == 0 && head == null && tail == null) || (size != 0 && head != null && tail != null) : "size=" + size + ", head=" + head + ", tail=" + tail; assert head == null || head == getEntry(head.getKey()); assert tail == null || tail == getEntry(tail.getKey()); if (VERIFY) { assert root.count() == size : root.count() + " != " + size; assert root.verify(0); int count = 0; for (Iterator<Map.Entry<Object, Property>> iterator = orderedEntryIterator(); iterator.hasNext();) { Map.Entry<Object, Property> e = iterator.next(); assert e == getEntry(e.getKey()); count++; } assert count == size : count + " != " + size; } return true; }
private boolean verify() { assert (size == 0 && head == null && tail == null) || (size != 0 && head != null && tail != null) : "size=" + size + ", head=" + head + ", tail=" + tail; assert head == null || head == getEntry(head.getKey()); assert tail == null || tail == getEntry(tail.getKey()); if (VERIFY) { assert root.count() == size : root.count() + " != " + size; assert root.verify(0); int count = 0; for (Iterator<Map.Entry<Object, Property>> iterator = orderedEntryIterator(); iterator.hasNext();) { Map.Entry<Object, Property> e = iterator.next(); assert e == getEntry(e.getKey()); count++; } assert count == size : count + " != " + size; } return true; }
if (existing.getPrevKey() != null) { Object prevKey = existing.getPrevKey(); LinkedPropertyEntry existingPrev = getEntry(prevKey); LinkedPropertyEntry newPrev = existingPrev.withNextKey(existing.getNextKey()); newRoot = newRoot.put(prevKey, hash(prevKey), newPrev); LinkedPropertyEntry existingNext = getEntry(nextKey); LinkedPropertyEntry newNext = existingNext.withPrevKey(existing.getPrevKey()); newRoot = newRoot.put(nextKey, hash(nextKey), newNext);
if (existing.getPrevKey() != null) { Object prevKey = existing.getPrevKey(); LinkedPropertyEntry existingPrev = getEntry(prevKey); LinkedPropertyEntry newPrev = existingPrev.withNextKey(existing.getNextKey()); newRoot = newRoot.put(prevKey, hash(prevKey), newPrev); LinkedPropertyEntry existingNext = getEntry(nextKey); LinkedPropertyEntry newNext = existingNext.withPrevKey(existing.getPrevKey()); newRoot = newRoot.put(nextKey, hash(nextKey), newNext);