HashMap 储存结构 : key --> value
key : 键值,唯一的
唯一的 key 重复的话 覆盖原来的
value: 值
由于 HashMap 的特殊储存结构,所以不能直接用 迭代器(Iterator) 遍历
第一种 利用 HaspMap.values( ); 取出 其 value 的值 但不能取出 key 的值
其的到 Collection 集合
如
第二种 利用其 HashMap.keySet(); 取出 key 键 再 HashMap.get( Key); 取出 value 的值
//1.声明一个非泛型HashMap集合
HashMap hm = new HashMap();
//2.利用for循环 对hm 集合 给值
for (int i = 0; i < 10; i++) {
hm.put(i, i + "+hm");
}
//3.利用value() 返回 value
Collection ct = hm.values();
//4.利用增强for循环 对其遍历
for (Object obj: ct) {
System.out.print(obj + "\t");
}
.keySet( ) 返回一个 Set 集合
如
第三种 利用 entrySet( ); 遍历 其返回的是一个 Set 集合
//1.声明一个非泛型HashMap集合
HashMap hm = new HashMap();
//2.利用for循环 对hm 集合 给值
for (int i = 0; i < 10; i++) {
hm.put(i, i + "+hm");
}
//利用entrySet( );
Set st = hm.entrySet();
//利用增强for 遍历Set集合
for (Object obj: st) {
//不用 instanceof
//用entrySet() 获取的一定是 entrySet
//直接 向下转型
Entry entry = (Entry) obj;
//利用Entry自带的getKey( ) 和 getValues()取出对应值
System.out.println("| Key --> " + entry.getKey() + "|--------|" + "value -->" + entry.getValue() + "|");
}
如
以上都是自己在学 Java 时的笔记
//3.利用keySet( ) 返回Set集合
Set ks = hm.keySet();
//由于Set是无序 没有下标
//选着用迭代器 Iterator
Iterator it = ks.iterator();
//用while循环输出结果
while (it.hasNext()) {
//it.next() 为Object
//向下转型 if(a instanceof A)
//int key = (int) it.next();
//System.out.println("Key -->"+key+"\t"+"value -->"+hm.get(key));
//直接转换 Object 类型
Object obj = it.next();
System.out.println("| Key --> " + key + "|--------|" + "value --> " + hm.get(key) + "|");
}
发个博客 纪念点滴
如有雷同,不如加个联系呗
来源: http://blog.csdn.net/qq_34708892/article/details/79046502