由于 Java 使用红黑树来实现 TreeMap 类,因此 put() 和 get() 的效率为 lg(N),其中 N = 不同键的数量,或 N = 您计划执行的插入/检索次数?
例如,假设我想使用
TreeMap<Integer, ArrayList<String>>
存储以下数据:
100 万 <1, "bob"> 对和 100 万 <2, "jack"> 对(字符串被插入到与键对应的数组列表值中)
最终的树形图将有 2 个键,每个键存储数百万个“bob”或“jack”字符串的数组列表。时间效率是 lg(2mil) 还是 lg(2)?我猜它是 lg(2) 因为这就是红黑树的工作原理,但只是想检查一下。