sol*_*oth 7 java linkedhashmap linkedhashset
有人可以解释一个选择另一个的主要好处以及该选择带来的不利因素吗?
Ben*_*son 22
它们解决了不同的问题,LinkedHashMap将键映射到值,LinkedHashSet只存储没有重复的东西的集合.
链接的哈希映射用于映射键/值对 - 例如,存储名称和年龄:
Map<String,Integer> namesAndAges = new LinkedHashMap<String,Integer>();
namesAndAges.put("Benson", 25);
namesAndAges.put("Fred", 19);
另一方面,链接的哈希集用于存储一个东西的集合 - 名称,例如:
Set<String> names = new LinkedHashSet<String>();
names.add("Benson");
names.add("Fred");
LinkedHashSet内部包含一个双向链表,该列表运行所有定义元素顺序的条目.此类允许null元素.
此类实现未同步,因此必须在外部进行同步. LinkedHashMap也未同步,必须在外部同步
例如:
Map map = Collections.synchronizedMap(new LinkedHashMap());
除了LinkedHashSet每个元素存储单个值,LinkedHashMap存储键/值对.
在下图中,您可以看到java.util.Collections.实心框显示具体类实现
alt文本http://www.softfinity.com/diag1.png
| 归档时间: | 
 | 
| 查看次数: | 11499 次 | 
| 最近记录: |