Pal*_*lly 3 java variables hashmap
当我们hashmap<Key, Value>
使用变量添加值时put()
,它们总是排序吗?
因为当我尝试使用简单的代码时,他们正在订购.
例:
Map<Integer, Integer> ctrArMap = new HashMap<Integer, Integer>();
ctrArMap.put( 1, 11);
ctrArMap.put( 2, 12);
ctrArMap.put( 3, 13);
ctrArMap.put( 4, 14);
ctrArMap.put( 5, 15);
System.out.println(ctrArMap);
Run Code Online (Sandbox Code Playgroud)
但就我而言,他们并没有订购.
HashMap: - HashMap
永远不会保留您的广告订单.它在内部使用散列概念,通过它生成一个HashCode
对应的key
并将其添加到HashMap
.
LinkedHashMap: - LinkedHashMap
它保留您的广告订单.并将keys
与您插入此订单中的订单相同LinkedHashMap
.
TreeMap: - TreeMap
该类使用Tree实现Map
接口.A 提供了按排序顺序存储键/值对的有效方法,并允许快速检索.TreeMap
您应该注意,与a不同HashMap
,树图保证其元素将按升序键排序
HashMap 不保留插入顺序。但是,如果您按顺序使用 0 到 10 的值,这些值会在内部散列到 0 到 10 的存储桶中,并按该顺序放置在数组中。当您迭代 HashMap 时,您会按顺序查看这些存储桶。注意:此实现将来可能会发生变化,但这种情况可能不会发生。
HashMap 的默认大小为 16,负载因子为 0.7,您可以添加 11 个值而无需调整大小。这意味着当您查看这些值时,当前的实现恰好按排序顺序放置 0 到 10。
如果您只需要 0 到 10 的值按顺序排列,我建议使用数组,而不是 HashMap。
归档时间: |
|
查看次数: |
3140 次 |
最近记录: |