HashMap 用到下面的格式 ,直接循环遍历整个hashMap hashTable
返回的 set 中的每个元素都是一个 Map.Entry 类型。
private Hashtable<String, String> emails = new Hashtable<String, String>();
// 方法一: 用entrySet()
// Iterator it = emails.entrySet().iterator();
// while(it.hasNext()){
// Map.Entry m=(Map.Entry)it.next();
// logger.info("email-" + m.getKey() + ":" + m.getValue());
// }
// 方法二:直接再循环中
for (Map.Entry<String, String> m : emails.entrySet()) {
logger.info("email-" + m.getKey() + ":" + m.getValue());
}
// 方法三:用keySet()
Iterator it = emails.keySet().iterator();
while (it.hasNext()){
String key;
key=(String)it.next();
logger.info("email-" + key + ":" + emails.get(key));
}
// 方法五:还是用keySEt() (04.29添加)
for(Object m: emails.keySet()){
logger.info("email-" + m+ ":" + emails.get(m));
}
另外 我们可以先把hashMap 转为集合Collection,再迭代输出,不过得到的对象
Map aa = new HashMap();
aa.put("tmp1", new Object()); //追加 替换用同样的函数.
aa.remove("temp1"); //删除
for (Iterator i = aa.values().iterator(); i.hasNext(); ) {
Object temp = i.next();
} //遍历
来个完整的,包含TreeSet的元素内部排序的
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<String>();
HashMap<Object,Object> hash = new HashMap<Object,Object>();
TreeMap<Object,Object> treeMap = new TreeMap<Object,Object>();
list.add("a");
list.add("b");
list.add("c");
hash.put(3, 3);
hash.put(4, 4);
hash.put(5, 5);
hash.put(6, 6);
hash.put(1, 1);
hash.put(2, 2);
treeMap.put(1, 1);
treeMap.put(2, 2);
treeMap.put(3, 3);
treeMap.put(4, 4);
treeMap.put(5, 5);
treeMap.put(6, 6);
//list遍历
for(String m: list){
System.out.println(m);
}
// hashmap entrySet() 遍历
for(Map.Entry<Object,Object> m: hash.entrySet()){
System.out.println(m.getKey()+"---"+m.getValue());
}
//hashmap keySet() 遍历
for(Object m: hash.keySet()){
System.out.println(m+"---"+hash.get(m));
}
// treemap keySet()遍历
for(Object m: treeMap.keySet()){
System.out.println(m+"---"+treeMap.get(m));
}
}
分享到:
相关推荐
在Java编程中,哈希遍历(Hash Traversal)通常是指对哈希表或映射数据结构(如HashMap)中的键值对进行访问的过程。哈希表是一种高效的数据存储方式,它通过计算对象的哈希码来快速定位数据,使得查找、插入和删除...
3. **通过Map.entrySet遍历key和value(增强for循环)** 这种方式与第二种相似,也是遍历entrySet,但使用了Java 5引入的foreach循环,使得代码更加简洁。 ```java for (Map.Entry, String> entry : map.entrySet...
在Java编程中,`HashMap`是一种常用的数据结构,它实现了`Map`接口,提供了基于哈希表的存储方式,允许我们快速地查找、插入和删除键值对。对于`HashMap`的遍历,是进行数据处理和分析时不可或缺的操作。本文将深入...
其中,`HashMap`是`Map`接口的一个实现类,提供了基于哈希表的存储方式,具有较快的访问速度。在处理数据时,我们经常需要遍历`Map`中的元素。本文将详细探讨在Java中遍历`Map`的两种常用方法:通过`keySet()`方法和...
这部分代码演示了如何使用`getSortedHashtableByKey`方法获取排序后的`Map.Entry`数组,并遍历打印出键和对应的值。 ### 按值排序HashTable 代码还提供了一个按值排序`HashTable`的方法: ```java public static ...
例如,HashMap是基于哈希表的数据结构,提供了快速的插入、删除和查找操作,但其元素顺序是不确定的;而TreeMap则基于红黑树,可以保持插入顺序或自然排序,适用于需要有序性的场景;LinkedHashMap则保留了插入顺序...
- **实现类**:包括 `HashSet`(基于哈希表)、`LinkedHashSet`(保持插入顺序)和 `TreeSet`(排序)。 #### 四、Map 的遍历方法 **1. 使用 keySet 遍历** ```java for (Object key : map.keySet()) { Object ...
- 数据结构:HashMap基于哈希表实现,内部使用数组加链表或者红黑树的结构。每个元素是一个内部类Node,实现了Map.Entry接口,包含键值对。 - 构造函数:提供了无参构造、指定初始容量和指定初始容量与负载因子的...
- `HashMap`:基于哈希表实现,提供快速的查找和插入操作。它是非同步的,适合在单线程环境下使用。 - `TreeMap`:基于红黑树实现,保证了键的有序性,支持按照自然顺序或自定义比较器排序。插入和查找的时间复杂度...
3. 通过Map.entrySet遍历key和value 这是一种使用增强for循环遍历键值对的方法。 ```java for (Map.Entry, String> entry : map.entrySet()) { System.out.println("key= " + entry.getKey() + " and value= " + ...
HashMap是无序的,基于哈希表实现;TreeMap是有序的,基于红黑树实现;LinkedHashMap保持插入顺序或者访问顺序。 7. **Map视图和迭代** - `entrySet()`:返回Map中所有键值对的Set视图,用于遍历所有键值对。 - `...
* public Set<Map.Entry,V>> entrySet() : 获取到Map集合中所有的键值对对象的集合(Set集合)。 Map集合遍历键找值方式 键找值方式:即通过元素中的键,获取键所对应的值。分析步骤: 1. 获取Map中所有的键,由于键...
- HashMap:非同步,允许null键和值,基于哈希表实现,提供了快速的查找。 - TreeMap:基于红黑树实现,按照键的自然顺序或自定义Comparator排序。 - LinkedHashMap:保持插入顺序或按照访问顺序排序的HashMap...
本篇文章将深入讲解Map的使用实例,包括插入、读取和遍历操作,以及HashMap、LinkedHashMap和TreeMap这三种常见的Map实现类之间的区别。 首先,让我们看看如何创建和插入键值对。在Java中,我们通常通过调用`put()`...
`HashMap`提供了快速的存取速度,因为它是基于哈希表实现的。声明一个`HashMap`实例的代码如下: ```java Map, String> map = new HashMap(); ``` 这里,`, String>`是泛型,用来指定键和值的数据类型,即键为`...
HashMap是最常用的Map实现,与HashSet类似,它使用哈希表存储键值对,提供快速查找。TreeMap则基于红黑树,保证了插入、删除和查找的性能为O(logn),并且默认按键的自然顺序排序,也可以自定义比较器。 4. **排序**...
例如,可以使用`map.entrySet().stream().sorted(Map.Entry.comparingByKey()).collect(Collectors.toList())`来根据键进行排序,或者使用`map.entrySet().stream().sorted(Map.Entry.comparingByValue()).collect...
HashMap提供了快速的插入、删除和查找操作,基于哈希表实现;TreeMap则按照键的自然顺序或比较器排序,适合需要有序性的场景;而LinkedHashMap则保持了插入顺序或访问顺序,适用于需要迭代顺序与插入顺序一致的情况...