首页 > 其他分享 >TreeMap

TreeMap

时间:2023-11-25 22:22:25浏览次数:36  
标签:自定义 元素 TreeMap treeMap put new

TreeMap是一个非常有用的数据结构,它实现了SortedMap接口,能够存储键值对,并根据键的自然顺序或者自定义顺序进行排序。TreeMap提供了快速且具有预测性的操作,对于需要有序键值对的场景来说非常适用。

插入元素

创建TreeMap的最基本方法是使用构造器。以下是一个例子:

TreeMap<Integer, String> treeMap = new TreeMap<>();

然后,我们可以添加元素到TreeMap中。如果键已经存在,那么新的值将替换旧的值。

treeMap.put(1, "one");  

treeMap.put(2, "two");  

treeMap.put(3, "three");

 

我们也可以通过使用putAll方法一次性添加多个元素。

Map<Integer, String> map = new HashMap<>();  

map.put(4, "four");  

map.put(5, "five");  

treeMap.putAll(map);

获取元素

我们可以使用get方法根据键获取值。如果键不存在,将返回null。

String value = treeMap.get(1); //  one

遍历TreeMap

遍历TreeMap有多种方法。例如,我们可以使用keySet方法获取所有的键,然后进行遍历。

for (Integer key : treeMap.keySet()) {  

    System.out.println("Key: " + key + ", Value: " + treeMap.get(key));  

}

删除元素

我们可以使用remove方法根据键删除元素。如果键不存在,将返回null。

String removedValue = treeMap.remove(2); // 删除了"two"

在创建TreeMap时,元素的排序是根据键的自然顺序。如果需要自定义排序,可以在创建TreeMap时传入一个自定义的Comparator。

import java.util.Comparator;  
  
public class CustomComparator implements Comparator<String> {  
    @Override  
    public int compare(String s1, String s2) {  
        return Integer.compare(s1.length(), s2.length());  
    }  
}
TreeMap<String, String> treeMap = new TreeMap<>(new CustomComparator());  

treeMap.put("abcd", "value1");  

treeMap.put("abc", "value2");  

treeMap.put("ab", "value3");  

// treeMap现在将按键的长度排序,而不是按字典顺序

TreeMap的特点:有序性:TreeMap中的元素按照键的自然顺序或者自定义顺序进行排序。

        唯一性:TreeMap中的键是唯一的,每个键只能对应一个值。

        高效性:TreeMap的时间复杂度为O(log n),其中n是TreeMap中元素的数量。

 

标签:自定义,元素,TreeMap,treeMap,put,new
From: https://www.cnblogs.com/kandh/p/17856235.html

相关文章

  • Map---SortedMap&NavigableMap&TreeMap
    SortedMap概述A{@linkMap}thatfurtherprovidesa<em>totalordering</em>onitskeys.Themapisorderedaccordingtothe{@linkplainComparablenaturalordering}ofitskeys,orbya{@linkComparator}typicallyprovidedatsortedmapcreati......
  • HashMap、TreeMap、Hashtable、HashSet和ConcurrentHashMap区别
    一、HashMap和TreeMap区别1、HashMap是基于散列表实现的,时间复杂度平均能达到O(1)。   TreeMap基于红黑树(一种自平衡二叉查找树)实现的,时间复杂度平均能达到O(logn)。2、HashMap、TreeMap都继承AbstractMap抽象类;TreeMap实现SortedMap接口,所以TreeMap是有序的!HashMap是无序的......
  • TreeMap
    TreeMap是Map家族中的一员,也是用来存放key-value键值对的。平时在工作中使用的可能并不多,它最大的特点是遍历时是有顺序的,根据key的排序规则来TreeMap是一个双列集合,是Map的子类。底层由红黑树结构构成。TreeMap是一个基于key有序的keyvalue散列表。map根据其键的自然顺序排......
  • 界面控件DevExpress WPF TreeMap,轻松可视化复杂的分层结构数据!
    DevExpressWPF TreeMap控件允许用户使用嵌套的矩形块可视化复杂的平面或分层结构数据。P.S:DevExpressWPF拥有120+个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpressWPF能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的......
  • HashMap、LinkedHashMap和TreeMap:你真的了解它们吗?
    亲爱的小伙伴们,大家好呀!我是小米,一个热衷于技术分享的90后程序员。今天我要和大家聊聊一个在面试中经常会被问到的话题:HashMap、LinkedHashMap、TreeMap的区别。这可是一个非常重要的知识点,不仅在面试中会被频繁提及,而且在实际开发中也经常用到。让我们一起深入了解这三者的异同吧!H......
  • Java TreeMap 介绍与使用
    介绍TreeMap是Java集合框架中的一个类,它实现了SortedMap接口,可以存储键值对,并按照键的自然顺序或者指定的比较器进行排序。TreeMap的底层是一棵红黑树,这是一种自平衡的二叉搜索树,可以保证在插入,删除,查找等操作中的时间复杂度为O(logn)。使用要使用TreeMap,我们需要导入......
  • TreeMap
    TreeMap的使用publicstaticvoidmain(String[]args){ TreeMap<String,Integer>map=newTreeMap<>(); //添加元素 Integerput1=map.put("大文",25); Integerput2=map.put("小文",26); Integerput3=map.put("小王",......
  • Map系列集合:TreeMap集合的原理、使用
        ......
  • java treemap
    TreeMap是Java中的一个类,它实现了Map接口,利用红黑树数据结构来有序存储键值对。TreeMap中的键按升序排序,若要自定义排序方式,则可以提供自定义的比较器。TreeMap实现了高效的数据访问、插入和删除操作,大多数常规操作的时间复杂度为O(logn)。importjava.util.TreeMap;public......
  • Java-Day-19( 对集合实现类的选择 + TreeSet + TreeMap )
    Java-Day-19总结-开发中如何选择集合实现类在开发中,选择什么集合实现类,主要取决于业务操作特点,然后根据集合实现类特性进行选择先判断存储的类型(一组对象或一组键值对)一组对象(单列):Collection接口允许重复:List增删多:LinkedList[底层维护了一个双向链......