List of usage examples for java.util NavigableMap subMap
NavigableMap<K, V> subMap(K fromKey, boolean fromInclusive, K toKey, boolean toInclusive);
From source file:Main.java
public static void main(String[] args) { NavigableMap<Integer, String> map = new TreeMap<Integer, String>(); map.put(2, "two"); map.put(1, "one"); map.put(3, "three"); System.out.println(map.subMap(1, false, 2, false) + "\n"); }
From source file:Main.java
public static void main(String[] args) { NavigableMap<Integer, String> nmap = new TreeMap<Integer, String>(); nmap.put(1, "this"); nmap.put(2, "is"); nmap.put(3, "a"); nmap.put(4, "test"); nmap.put(5, "."); System.out.println(nmap);//from w w w.j ava 2 s . c om System.out.println(nmap.subMap(4, true, 5, true).values()); nmap.subMap(1, true, 3, true).clear(); System.out.println(nmap); // wrap into synchronized SortedMap SortedMap<Integer, String> ssmap = Collections.synchronizedSortedMap(nmap); System.out.println(ssmap.subMap(4, 5)); System.out.println(ssmap.subMap(4, 5 + 1)); }
From source file:com.google.gwt.emultest.java.util.TreeMapTest.java
public void testSubMap_NullTolerableComparator() { if (!useNullKey()) { return;/* w ww . j a v a2 s .c o m*/ } // JDK < 7 does not handle null keys correctly. if (TestUtils.isJvm() && TestUtils.getJdkVersion() < 7) { return; } K[] keys = getSortedKeys(); V[] values = getSortedValues(); NavigableMap<K, V> map = createNavigableMap(); map.put(keys[1], values[1]); map.put(null, values[2]); SortedMap<K, V> subMapWithNull = map.subMap(null, true, keys[1], true); assertEquals(2, subMapWithNull.size()); assertEquals(values[1], subMapWithNull.get(keys[1])); assertEquals(values[2], subMapWithNull.get(null)); map.put(keys[0], values[0]); assertEquals(3, subMapWithNull.size()); subMapWithNull = map.subMap(null, false, keys[0], true); assertEquals(1, subMapWithNull.size()); }
From source file:com.google.gwt.emultest.java.util.TreeMapTest.java
public void testSubMap_viewPutRemove() { K[] keys = getSortedKeys();//from w ww . j ava 2s. c om V[] values = getSortedValues(); NavigableMap<K, V> map = createNavigableMap(); map.put(keys[0], values[0]); map.put(keys[1], values[1]); map.put(keys[3], values[3]); NavigableMap<K, V> subMap = map.subMap(keys[1], true, keys[3], true); try { subMap.put(keys[0], values[0]); fail(); } catch (IllegalArgumentException e) { // must not insert value outside the range } assertFalse(subMap.containsKey(keys[0])); assertNull(subMap.remove(keys[0])); assertTrue(map.containsKey(keys[0])); assertEquals(2, subMap.size()); assertEquals(3, map.size()); subMap.put(keys[2], values[2]); assertEquals(3, subMap.size()); assertEquals(4, map.size()); assertTrue(map.containsKey(keys[2])); assertTrue(subMap.containsKey(keys[2])); subMap.remove(keys[2]); assertFalse(map.containsKey(keys[2])); assertFalse(subMap.containsKey(keys[2])); subMap.clear(); assertEquals(0, subMap.size()); assertEquals(1, map.size()); assertTrue(map.containsKey(keys[0])); }
From source file:com.google.gwt.emultest.java.util.TreeMapTest.java
public void testDescendingMap() { K[] keys = getSortedKeys();/*from ww w . j a v a 2s .c om*/ V[] values = getSortedValues(); NavigableMap<K, V> map = createNavigableMap(); map.put(keys[0], values[0]); NavigableMap<K, V> descendingMap = map.descendingMap(); _assertEquals(descendingMap, map.descendingMap()); map.put(keys[1], values[1]); _assertEquals(map, descendingMap.descendingMap()); _assertEquals(reverseCollection(map.entrySet()), descendingMap.entrySet()); descendingMap.put(keys[2], values[2]); _assertEquals(reverseCollection(map.entrySet()), descendingMap.entrySet()); _assertEquals(map.entrySet(), descendingMap.descendingMap().entrySet()); descendingMap.remove(keys[1]); _assertEquals(reverseCollection(map.entrySet()), descendingMap.entrySet()); descendingMap.clear(); assertEquals(0, descendingMap.size()); assertEquals(0, map.size()); map.put(keys[0], values[0]); map.put(keys[1], values[1]); map.put(keys[2], values[2]); assertEquals(3, descendingMap.size()); NavigableMap<K, V> headMap = descendingMap.headMap(keys[1], false); assertEquals(1, headMap.size()); assertTrue(headMap.containsKey(keys[2])); NavigableMap<K, V> subMap = descendingMap.subMap(keys[2], true, keys[1], true); assertEquals(2, subMap.size()); assertTrue(subMap.containsKey(keys[1])); assertTrue(subMap.containsKey(keys[2])); NavigableMap<K, V> tailMap = descendingMap.tailMap(keys[1], false); assertEquals(1, tailMap.size()); assertTrue(tailMap.containsKey(keys[0])); }
From source file:com.google.gwt.emultest.java.util.TreeMapTest.java
public void testHeadMapLjava_lang_ObjectZL() { K[] keys = getSortedKeys();/*from w ww. ja v a2 s. c o m*/ V[] values = getSortedValues(); NavigableMap<K, V> map = createNavigableMap(); for (int i = 0; i < keys.length; i++) { map.put(keys[i], values[i]); } // normal case SortedMap<K, V> subMap = map.headMap(keys[2], true); assertEquals(3, subMap.size()); subMap = map.headMap(keys[3], true); assertEquals(4, subMap.size()); for (int i = 0; i < 4; i++) { assertEquals(values[i], subMap.get(keys[i])); } subMap = map.headMap(keys[2], false); assertEquals(2, subMap.size()); assertNull(subMap.get(keys[3])); // Exceptions assertEquals(0, map.headMap(keys[0], false).size()); try { map.headMap(null, true); assertTrue("expected exception", useNullKey()); } catch (NullPointerException e) { assertFalse("unexpected NPE", useNullKey()); } try { map.headMap(null, false); assertTrue("expected exception", useNullKey()); } catch (NullPointerException e) { assertFalse("unexpected NPE", useNullKey()); } subMap = map.headMap(keys[2]); assertEquals(2, subMap.size()); try { subMap.put(keys[2], values[2]); fail("should throw IllegalArgumentException"); } catch (IllegalArgumentException expected) { } assertEquals(keys.length, map.size()); subMap = map.headMap(keys[2], true); assertEquals(3, subMap.size()); subMap.remove(keys[1]); assertFalse(subMap.containsKey(keys[1])); assertFalse(subMap.containsValue(values[1])); assertFalse(map.containsKey(keys[1])); assertFalse(map.containsValue(values[1])); assertEquals(2, subMap.size()); assertEquals(keys.length - 1, map.size()); subMap.put(keys[1], values[1]); try { subMap.subMap(keys[1], keys[3]); fail("should throw IllegalArgumentException"); } catch (IllegalArgumentException expected) { } try { subMap.subMap(keys[3], keys[1]); fail("should throw IllegalArgumentException"); } catch (IllegalArgumentException expected) { } if (useNullKey() && useNullValue()) { map.put(null, null); subMap = map.headMap(null, true); assertEquals(1, subMap.size()); assertTrue(subMap.containsValue(null)); assertNull(subMap.get(null)); subMap = map.subMap(null, false, keys[2], true); assertEquals(3, subMap.size()); Set<K> keySet = subMap.keySet(); assertEquals(3, keySet.size()); Set<Map.Entry<K, V>> entrySet = subMap.entrySet(); assertEquals(3, entrySet.size()); Collection<V> valueCollection = subMap.values(); assertEquals(3, valueCollection.size()); map.remove(null); } // head map of head map NavigableMap<K, V> headMap = map.headMap(keys[3], true); assertEquals(4, headMap.size()); headMap = headMap.headMap(keys[3], false); assertEquals(3, headMap.size()); headMap = headMap.headMap(keys[2], false); assertEquals(2, headMap.size()); headMap = headMap.tailMap(keys[0], false); assertEquals(1, headMap.size()); headMap = headMap.tailMap(keys[1], false); assertEquals(0, headMap.size()); }
From source file:org.apache.bookkeeper.bookie.InterleavedLedgerStorage.java
@Override public Iterable<Long> getActiveLedgersInRange(long firstLedgerId, long lastLedgerId) { NavigableMap<Long, Boolean> bkActiveLedgersSnapshot = activeLedgers.snapshot(); Map<Long, Boolean> subBkActiveLedgers = bkActiveLedgersSnapshot.subMap(firstLedgerId, true, lastLedgerId, false);/* www . j a va2s. c o m*/ return subBkActiveLedgers.keySet(); }