一.遍历HashMap
Map<Integer, String> map = new HashMap<Integer, String>();
for(int i=0;i<100;i++)
{
map.put(i, "123");
}
方法一:效率比方法二高
for(Entry<Integer, String> entry:map.entrySet())
{
System.out.println(entry.getKey()+"="+entry.getValue());
}
方法二:
for(Object obj : map.keySet()) {
Object key = obj;
Object value = map.get(obj);
System.out.println(value);
}
二.遍历HashSet
Set set = new HashSet();
for(int i=0;i<100;i++)
{
set .add("123");
}
for(Iterator it=set.iterator();it.hasNext();)
{
System.out.println(it.next());
}
三.遍历Hashtable(同步、线程安全的)
Hashtable table = new Hashtable();
table.put(1, "1");
table.put(2, "1");
table.put(3, "1");
//遍历key
Enumeration e = table.keys();
while( e. hasMoreElements() ){
System.out.println( e.nextElement() );
}
//遍历value
e = table.elements();
while( e. hasMoreElements() ){
System.out.println( e.nextElement() );
}
分享到:
相关推荐
在Java编程语言中,`HashMap`、`Hashtable`和`HashSet`都是集合框架的重要组成部分,分别用于存储键值对和不重复元素。下面将详细解释它们之间的区别。 首先,`Hashtable`是`Map`接口的一个早期实现,它提供了一个...
`HashMap`、`Hashtable`和`HashSet`都是基于`Map`或`Set`接口实现的不同数据结构,它们在功能、线程安全性和性能等方面有显著差异。 首先,`HashMap`和`Hashtable`都实现了`Map`接口,这意味着它们都可以存储键值对...
1. 不保证元素顺序:HashMap在插入和遍历时不保持元素的原始插入顺序。 2. 可空性:键和值都可以为null,但一个HashMap只能有一个键为null的条目。 3. 默认容量:16,负载因子0.75,当容量达到负载因子乘以当前容量...
### Java中HashMap, LinkedHashMap, TreeMap,HashTable的区别 在Java编程语言中,`Map`接口是集合框架中的一个重要组成部分,用于存储键值对。本文将详细分析四种常用的`Map`实现类:`HashMap`, `LinkedHashMap`, ...
HashMap不是线程安全的,如果需要线程安全的Map,可以使用Hashtable。 LinkedHashMap与HashMap类似,但保持了插入顺序或访问顺序。TreeMap使用红黑树,保证了键的排序。 总的来说,理解这些集合的底层实现对于优化...
HashMap和HashTable的主要区别是HashMap线程不安全,而HashTable线程安全。 HashMap允许键值为null,而HashTable不允许键值为null。HashMap继承自AbstractMap,而HashTable继承自Dictionary。 在选择HashMap还是...
- **HashMap和HashTable的区别**:列举HashMap和HashTable的主要区别。 - **HashMap和HashSet的区别**:解释HashMap和HashSet之间的区别。 - **扩容机制**:HashMap是如何进行扩容的? - **长度限制**:解释为什么...
ArrayList和LinkedList虽然不是Set,但它们的父接口List属于Collection,而Collection接口有一个子接口Set,例如HashSet是Set接口的一个实现,它内部基于HashMap实现,保证元素唯一性。 7. WeakHashMap WeakHashMap...
- HashMap和Hashtable的区别? - HashMap与HashSet的关系? - 如何解决哈希冲突? - 如何自定义键的哈希码生成方式? - 如何避免和处理HashMap中的循环链表? 通过深入学习和理解这些知识点,你将能够在面试中自信...
List 中包括 ArrayList、LinkedList、Vector 等,Set 中包括 HashSet、LinkedHashSet 等,Map 中包括 HashMap、Hashtable 等。 List、Set、Map 是否继承自 Collection 接口 List 和 Set 继承自 Collection 接口,...
- 遍历HashSet和HashMap时,顺序不确定,但添加和删除速度快。LinkedHashSet和LinkedHashMap则按插入顺序遍历。 - TreeSet和TreeMap保证元素按照自然顺序或自定义比较规则排序。 - `Properties`扩展了`Hashtable`...
本文将深入探讨Java中的常用集合框架,包括Map、Set和List接口以及它们的一些实现类,如HashMap、Hashtable、HashSet、ArrayList、LinkedList和Vector。 首先,我们来看Map接口。Map接口定义了一个键值对的存储结构...
6. HashMap和HashSet的区别:HashMap关注键值对,HashSet关注元素的唯一性,两者都基于哈希表实现,但HashSet的元素是HashMap的键。 7. 多线程问题:HashMap在多线程环境下不安全,可能导致死循环,应使用...
实验涵盖了ArrayList、Vector、HashSet、TreeSet、HashMap、TreeMap以及HashTable等集合接口及其主要实现类的使用。 实验的第一部分涉及List接口,特别是ArrayList和Vector的使用。实验要求创建一个ArrayList实例,...
本文主要总结了 Web 开发中的一些重要概念和技术点,包括对象序列化、值传递与引用传递、接口与抽象类、继承、方法重载、面向对象编程、集合框架、异常处理、多线程、异常框架、HashMap 与 Hashtable 的区别、 ...
HashSet 内部依赖于 HashMap,它的元素作为 HashMap 的 key,value 常常是一个固定对象(如 `Object.class` 的实例),表示 key 存在。 **ArrayList 和 LinkedList 的区别**: - **数据结构**:ArrayList 使用数组...
Java基础问答涵盖了许多核心概念,包括对象序列化、值传递与引用传递、接口与抽象类的区别、继承的作用、方法重载、面向对象的理解、集合框架、异常处理、多线程的优先级、异常框架的类结构、HashMap与Hashtable的...
而LinkedHashMap则在HashMap基础上添加了插入顺序或访问顺序的特性,使得遍历HashMap时可以按照插入或访问的顺序进行。 总的来说,通过分析JDK源代码,我们可以了解到哈希存储机制如何在实际应用中提高数据操作的...