List of usage examples for java.util NavigableMap subMap
SortedMap<K, V> subMap(K fromKey, K toKey);
Equivalent to subMap(fromKey, true, toKey, false) .
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, 2) + "\n"); }
From source file:com.att.aro.core.packetanalysis.impl.VideoUsageAnalysisImpl.java
/** * Apply duration values to all events of the same segment number. * * @param eventMap Map of VideoEvents//from w w w .j a v a 2 s.c o m * @param key starting key * @param segNextKey ending key * @param duration - value to be applied to all VideoEvents */ public void updateSegmentDuration(NavigableMap<String, VideoEvent> eventMap, String key, String segNextKey, double duration) { for (VideoEvent subEvent : eventMap.subMap(key, segNextKey).values()) { if (subEvent.getDuration() <= 0) { subEvent.setDuration(duration); } } }
From source file:com.google.gwt.emultest.java.util.TreeMapTest.java
/** * Test method for 'java.util.SortedMap.subMap(Object, Object)' and * 'java.util.NavigableMap.subMap(Object, boolean, Object, boolean)'. * * @see java.util.SortedMap#subMap(Object, Object) * @see java.util.NavigableMap#subMap(Object, boolean, Object, boolean) *///from w w w. ja va 2s.c o m public void testSubMap() { K[] keys = getSortedKeys(); V[] values = getSortedValues(); NavigableMap<K, V> map = createNavigableMap(); // test with no entries assertEquals(0, map.subMap(keys[0], keys[0]).size()); assertEquals(0, map.subMap(keys[0], false, keys[0], false).size()); assertEquals(0, map.subMap(keys[0], true, keys[0], false).size()); assertEquals(0, map.subMap(keys[0], false, keys[0], true).size()); assertEquals(0, map.subMap(keys[0], true, keys[0], true).size()); // test with a single entry map map.put(keys[0], values[0]); assertEquals(0, map.subMap(keys[0], keys[0]).size()); // bounded by a "wide" range assertEquals(1, map.subMap(getLessThanMinimumKey(), getGreaterThanMaximumKey()).size()); assertEquals(1, map.subMap(getLessThanMinimumKey(), false, getGreaterThanMaximumKey(), false).size()); assertEquals(1, map.subMap(getLessThanMinimumKey(), true, getGreaterThanMaximumKey(), false).size()); assertEquals(1, map.subMap(getLessThanMinimumKey(), false, getGreaterThanMaximumKey(), true).size()); assertEquals(1, map.subMap(getLessThanMinimumKey(), true, getGreaterThanMaximumKey(), true).size()); // test with two entry map map.put(keys[1], values[1]); assertEquals(1, map.subMap(keys[0], keys[1]).size()); assertEquals(keys[0], map.subMap(keys[0], keys[1]).keySet().toArray()[0]); assertEquals(0, map.subMap(keys[0], false, keys[1], false).size()); assertEquals(1, map.subMap(keys[0], false, keys[1], true).size()); assertEquals(keys[1], map.subMap(keys[0], false, keys[1], true).keySet().toArray()[0]); assertEquals(1, map.subMap(keys[0], true, keys[1], false).size()); assertEquals(keys[0], map.subMap(keys[0], true, keys[1], false).keySet().toArray()[0]); assertEquals(2, map.subMap(keys[0], true, keys[1], true).size()); assertEquals(keys[0], map.subMap(keys[0], true, keys[1], true).keySet().toArray()[0]); assertEquals(keys[1], map.subMap(keys[0], true, keys[1], true).keySet().toArray()[1]); // bounded by a "wide" range assertEquals(2, map.subMap(getLessThanMinimumKey(), getGreaterThanMaximumKey()).size()); assertEquals(2, map.subMap(getLessThanMinimumKey(), false, getGreaterThanMaximumKey(), false).size()); assertEquals(1, map.subMap(keys[0], false, getGreaterThanMaximumKey(), false).size()); assertEquals(0, map.subMap(keys[0], false, keys[1], false).size()); assertEquals(2, map.subMap(keys[0], true, getGreaterThanMaximumKey(), false).size()); assertEquals(1, map.subMap(keys[0], true, keys[1], false).size()); assertEquals(2, map.subMap(keys[0], true, getGreaterThanMaximumKey(), true).size()); assertEquals(2, map.subMap(keys[0], true, keys[1], true).size()); }
From source file:com.google.gwt.emultest.java.util.TreeMapTest.java
@SuppressWarnings("SuspiciousMethodCalls") public void testEntrySet_contains() { K[] keys = getSortedKeys();/*from www . j a va 2 s.co m*/ V[] values = getSortedValues(); NavigableMap<K, V> master = createNavigableMap(); NavigableMap<K, V> testMap = createNavigableMap(); master.put(keys[0], null); Object[] entry = master.entrySet().toArray(); assertFalse(testMap.entrySet().contains(entry[0])); Map<K, V> submap = testMap.subMap(keys[2], keys[3]); entry = master.entrySet().toArray(); assertFalse(submap.entrySet().contains(entry[0])); testMap.put(keys[0], null); assertTrue(testMap.entrySet().containsAll(master.entrySet())); master.clear(); master.put(keys[0], values[0]); entry = master.entrySet().toArray(); assertFalse(testMap.entrySet().contains(entry[0])); }
From source file:com.google.gwt.emultest.java.util.TreeMapTest.java
public void testSubMap_iterator() { K[] keys = getSortedKeys();// w w w. j a v a2s . 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]); } assertEquals(keys.length, map.size()); Map<K, V> subMap = map.subMap(getLessThanMinimumKey(), keys[3]); assertEquals(3, subMap.size()); Set<Map.Entry<K, V>> entrySet = subMap.entrySet(); assertEquals(3, entrySet.size()); Iterator<Entry<K, V>> it = entrySet.iterator(); while (it.hasNext()) { Entry<K, V> entry = it.next(); assertTrue(map.containsKey(entry.getKey())); assertTrue(map.containsValue(entry.getValue())); } try { it.next(); fail("should throw NoSuchElementException"); } catch (NoSuchElementException expected) { } Set<K> keySet = subMap.keySet(); assertEquals(3, keySet.size()); for (K key : keySet) { assertTrue(map.containsKey(key)); } }
From source file:com.google.gwt.emultest.java.util.TreeMapTest.java
public void testSubMap_entrySet() { K[] keys = getSortedKeys();//from w w w . j a va2s . c o m V[] values = getSortedValues(); NavigableMap<K, V> map = createNavigableMap(); map.put(keys[0], values[0]); map.put(keys[1], values[1]); map.put(keys[2], values[2]); map.put(keys[3], values[3]); SortedMap<K, V> subMap = map.subMap(keys[1], keys[3]); Set<Entry<K, V>> entries = subMap.entrySet(); assertEquals(2, subMap.size()); assertEquals(subMap.size(), entries.size()); assertFalse(entries.contains(new SimpleEntry<K, V>(keys[0], values[0]))); assertTrue(entries.contains(new SimpleEntry<K, V>(keys[1], values[1]))); assertTrue(entries.contains(new SimpleEntry<K, V>(keys[2], values[2]))); assertFalse(entries.contains(new SimpleEntry<K, V>(keys[3], values[3]))); entries.remove(new SimpleEntry<K, V>(keys[1], values[1])); assertEquals(3, map.size()); assertEquals(subMap.size(), entries.size()); assertFalse(entries.contains(new SimpleEntry<K, V>(keys[1], values[1]))); assertFalse(subMap.containsKey(keys[1])); assertFalse(subMap.containsValue(values[1])); entries.clear(); assertEquals(2, map.size()); assertEquals(subMap.size(), entries.size()); assertTrue(entries.isEmpty()); assertTrue(subMap.isEmpty()); subMap.put(keys[2], values[2]); assertEquals(1, subMap.size()); assertEquals(subMap.size(), entries.size()); subMap.put(keys[1], values[1]); Iterator<Entry<K, V>> it = entries.iterator(); while (it.hasNext()) { Map.Entry<K, V> entry = it.next(); subMap.containsKey(entry.getKey()); subMap.containsValue(entry.getValue()); it.remove(); } try { it.next(); fail("should throw NoSuchElementException"); } catch (NoSuchElementException expected) { } assertEquals(2, map.size()); assertEquals(0, subMap.size()); assertEquals(subMap.size(), entries.size()); map = createNavigableMap(); Set<Entry<K, V>> entrySet = map.entrySet(); map.put(keys[0], values[0]); map.put(keys[1], values[1]); map.put(keys[2], values[2]); assertEquals(map.size(), entrySet.size()); _assertEquals(entrySet, map.entrySet()); map.clear(); assertEquals(map.size(), entrySet.size()); _assertEquals(entrySet, map.entrySet()); map.put(keys[0], values[0]); assertEquals(map.size(), entrySet.size()); _assertEquals(entrySet, map.entrySet()); entrySet.clear(); assertEquals(map.size(), entrySet.size()); _assertEquals(entrySet, map.entrySet()); }
From source file:com.google.gwt.emultest.java.util.TreeMapTest.java
/** * Test method for 'java.util.Map.size()'. * * @see java.util.Map#size()/*from ww w . j a v a 2 s . c o m*/ */ public void testSize() { K[] keys = getSortedKeys(); V[] values = getSortedValues(); NavigableMap<K, V> map = createNavigableMap(); // Test size behavior on put map.put(keys[0], values[0]); assertEquals(1, map.size()); map.put(keys[1], values[1]); assertEquals(2, map.size()); map.put(keys[2], values[2]); assertEquals(3, map.size()); // Test size behavior on remove map.remove(keys[0]); assertEquals(2, map.size()); map.remove(keys[1]); assertEquals(1, map.size()); map.remove(keys[2]); assertEquals(0, map.size()); // Test size behavior on putAll map.put(keys[0], values[0]); map.put(keys[1], values[1]); map.put(keys[2], values[2]); assertEquals(3, map.size()); // Test size behavior on clear map.clear(); _assertEmpty(map); for (int i = 0; i < keys.length; i++) { map.put(keys[i], values[i]); } assertEquals(keys.length, map.size()); for (int i = 0; i < keys.length; i++) { assertEquals(i, map.headMap(keys[i]).size()); } assertEquals(keys.length, map.headMap(getGreaterThanMaximumKey()).size()); for (int i = 0; i < keys.length; i++) { assertEquals(keys.length - i, map.tailMap(keys[i]).size()); } assertEquals(keys.length, map.tailMap(getLessThanMinimumKey()).size()); assertEquals(1, map.subMap(keys[1], keys[2]).size()); assertEquals(2, map.subMap(keys[0], keys[2]).size()); try { map.subMap(keys[2], keys[1]); fail("Should throw an IllegalArgumentException"); } catch (IllegalArgumentException expected) { } assertEquals(keys.length, map.subMap(getLessThanMinimumKey(), getGreaterThanMaximumKey()).size()); }