Java之TreeMap常用methods

TreeMap用于存储与HashMap类非常相似的键值对。区别在于TreeMap提供了一种以排序顺序存储键/值对的有效方法。它是基于红黑树NavigableMap实现。

public class TreeMap<K,V>
    extends AbstractMap<K,V>
    implements NavigableMap<K,V>, Cloneable, java.io.Serializable

一、常用methods

  • void clear(): 它从地图中删除所有键值对。

  • int size(): 返回此映射中存在的键值对的数量。

  • boolean containsKey(Object key) : 如果此映射包含指定键的映射,则返回 true

  • boolean containsValue(Object value) : 如果此地图将一个或多个键映射到指定值,则返回 true

  • Set<Map.Entry<K,V>> entrySet( ): 返回此地图中包含的映射的Set视图。常用于遍历。

  • V get(Object key): 返回到指定键所映射的值,若没有则返回null

  • Set KeySet() : 返回此地图中包含的键的Set视图。 常用于遍历map中的Key。

  • V put(K key, V value) : 将指定的值与此映射中的指定键相关联。即将键值对加入map中。

  • V remove(Object key): 删除指定键的键值对。

  • V replace(K key,V value): 替换指定键的值。

  • V replace(K key,V oldValue,V newValue): 替换指定键值对的值。若不存在指定的键值对,则不操作。

二、特有的methods

  • Map.Entry <K,V> ceilingEntry(K key) : 返回最小的大于或等于指定的Key的元素,若没有,则返回null
			TreeMap treeMap = new TreeMap();
			treeMap.put("1", "demo1");
			treeMap.put("2", "demo2");
			treeMap.put("3", "demo3");
			Entry entry = treeMap.ceilingEntry("2.5");
			System.out.println(entry+"====="+entry.getKey()+"->"+entry.getValue());
			entry = treeMap.ceilingEntry("4");
			System.out.println(entry);

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0ptbKiN6-1601948160181)(image-20201005233217235.png)]

  • K ceilingKey(K key) : 返回最小的大于或等于指定Key的Key,如果没有,则返回null
			TreeMap treeMap = new TreeMap();
			treeMap.put("1", "demo1");
			treeMap.put("2", "demo2");
			treeMap.put("3", "demo3");
			Object obj = treeMap.ceilingKey("2.5");
			System.out.println(obj);
			obj = treeMap.ceilingEntry("4");
			System.out.println(obj);

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0kHbwYGA-1601948030869)(image-20201005233417838.png)]

  • NavigableSetdescendingKeySet() : 返回集合的全部Key,并且是逆序的
			TreeMap treeMap = new TreeMap();
			treeMap.put("1", "demo1");
			treeMap.put("2", "demo2");
			treeMap.put("3", "demo3");
			Set set = treeMap.descendingKeySet();
			System.out.println(set);

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ce9b84Dd-1601948030872)(image-20201005233559835.png)]

  • NavigableMap<K,V> descendingMap() : 返回集合,并且是逆序的
			TreeMap treeMap = new TreeMap();
			treeMap.put("1", "demo1");
			treeMap.put("2", "demo2");
			treeMap.put("3", "demo3");
			System.out.println(treeMap);
			Map map = treeMap.descendingMap();
			System.out.println(map);

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vVz6xpgJ-1601948030876)(image-20201005233708430.png)]

  • Map.Entry<K,V> firstEntry() : 返回集合中含有最小的Key的元素
			TreeMap treeMap = new TreeMap();
			treeMap.put("1", "demo1");
			treeMap.put("2", "demo2");
			treeMap.put("3", "demo3");
			Entry entry = treeMap.firstEntry();
			System.out.println(entry);

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OPIYTszR-1601948030878)(image-20201005233803739.png)]

  • K firstKey() : 返回集合中最小的Key
			TreeMap treeMap = new TreeMap();
			treeMap.put("1", "demo1");
			treeMap.put("2", "demo2");
			treeMap.put("3", "demo3");
			Object obj = treeMap.firstKey();
			System.out.println(obj);

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GHrJjdee-1601948030879)(image-20201005233852340.png)]

  • Map.Entry<K,V> floorEntry(K key) : 与ceilingEntry()方法相反,返回最大的小于等于指定Key的元素
			TreeMap treeMap = new TreeMap();
			treeMap.put("1", "demo1");
			treeMap.put("2", "demo2");
			treeMap.put("3", "demo3");
			Entry entry = treeMap.floorEntry("2.5");
			System.out.println(entry);

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EGsDTBB8-1601948030881)(image-20201005234055871.png)]

  • K floorKey(K key) : 返回最大的小于等于指定Key的Key
			TreeMap treeMap = new TreeMap();
			treeMap.put("1", "demo1");
			treeMap.put("2", "demo2");
			treeMap.put("3", "demo3");
			Object obj = treeMap.floorKey("2.5");
			System.out.println(obj);

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rhj6afe5-1601948030882)(image-20201005234219702.png)]

  • SortedMap<K,V> headMap(K Key) : 返回小于指定Key的所有元素
			TreeMap treeMap = new TreeMap();
			treeMap.put("1", "demo1");
			treeMap.put("2", "demo2");
			treeMap.put("3", "demo3");
			Map map = treeMap.headMap("2.5");
			System.out.println(map);

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EUlFlfnR-1601948030884)(image-20201006092006102.png)]

  • NavigableMap<K,V> headMap(K Key,boolean inclusive) : 当inclusive为true时,返回Key小于等于指定Key的所有元素
			TreeMap treeMap = new TreeMap();
			treeMap.put("1", "demo1");
			treeMap.put("2", "demo2");
			treeMap.put("3", "demo3");
			Map map = treeMap.headMap("2",true);
			System.out.println(map);
			map = treeMap.headMap("2",false);
			System.out.println(map);

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CFjjiKLl-1601948030886)(image-20201006092110649.png)]

  • Map.Entry<K,V> higherEntry(K key) : 返回大于指定Key的所有元素
			TreeMap treeMap = new TreeMap();
			treeMap.put("1", "demo1");
			treeMap.put("2", "demo2");
			treeMap.put("3", "demo3");
			Entry entry = treeMap.higherEntry("2.5");
			System.out.println(entry);

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8qCRXEej-1601948030887)(image-20201006092219924.png)]

  • K higherKey(K Key) : 返回大于指定Key的所有Key
			TreeMap treeMap = new TreeMap();
			treeMap.put("1", "demo1");
			treeMap.put("2", "demo2");
			treeMap.put("3", "demo3");
			Object obj = treeMap.higherKey("2.5");
			System.out.println(obj);

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-v0puAx2R-1601948030889)(image-20201006092326285.png)]

  • Map.Entry<K,V> lastEntry() : 返回Key最大的元素
			TreeMap treeMap = new TreeMap();
			treeMap.put("1", "demo1");
			treeMap.put("2", "demo2");
			treeMap.put("3", "demo3");
			Entry entry = treeMap.lastEntry();
			System.out.println(entry);

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-siEDnVKD-1601948030890)(image-20201006092603426.png)]

  • K lastKey() : 返回最大的Key
			TreeMap treeMap = new TreeMap();
			treeMap.put("1", "demo1");
			treeMap.put("2", "demo2");
			treeMap.put("3", "demo3");
			Object obj = treeMap.lastKey();
			System.out.println(obj);

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AgfOlLHS-1601948030892)(image-20201006092652724.png)]

  • Map.Entry<K,V> lowerEntry(K Key) : 返回小于指定key的最大元素
			TreeMap treeMap = new TreeMap();
			treeMap.put("1", "demo1");
			treeMap.put("2", "demo2");
			treeMap.put("3", "demo3");
			Entry entry = treeMap.lowerEntry("2.5");
			System.out.println(entry);

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1xYAPmia-1601948030894)(image-20201006092756027.png)]

  • K lowerKey(K Key) : 返回小于指定Key的最大的Key

  • Map.Entry<K,V> pollFirstEntry() : 删除Key最小的元素

			TreeMap treeMap = new TreeMap();
			treeMap.put("1", "demo1");
			treeMap.put("2", "demo2");
			treeMap.put("3", "demo3");
			treeMap.pollFirstEntry();
			System.out.println(treeMap);

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oH2M5oM3-1601948030895)(image-20201006092940671.png)]

  • Map.Entry<K,V> pollLastEntry() : 删除Key最大的元素

  • NavigableMap<K,V> subMap(K fromKey, boolean fromInclusive, K toKey, boolean toInclusive) : 截取集合中Key从fromKey到toKey的元素,是否截取他们本身,取决于true或者false

			TreeMap treeMap = new TreeMap();
			treeMap.put("1", "demo1");
			treeMap.put("2", "demo2");
			treeMap.put("3", "demo3");
			treeMap.put("4", "demo4");
			Map map = treeMap.subMap("1",true, "4", true);
			System.out.println(map);
		    map = treeMap.subMap("1",false, "4", true);
			System.out.println(map);
			map = treeMap.subMap("1",false, "4", false);
			System.out.println(map);

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vpLg7Vsi-1601948030897)(image-20201006093255011.png)]

  • SortedMap<K,V> subMap(K fromKey, K toKey) : 截取集合中Key从fromKey到toKey的元素,包括fromKey,不包括toKey

  • SortedMap<K,V> tailMap(K fromKey) : 截取Key大于等于fromKey的所有元素

  • NavigableMap<K,V> tailMap(K fromKey, boolean fromInclusive) : 当inclusive为true时,截取Key大于等于fromKey的所有元素,否则截取Key大于fromKey的所有元素

猜你喜欢

转载自blog.csdn.net/qq_43229056/article/details/108936356
今日推荐