HashMap 储存结构 : key --> value
key : 键值、唯一的
唯一的key 重复的话 覆盖原来的
value: 值
由于HashMap的特殊储存结构,所以不能直接用 迭代器(Iterator) 遍历
第一种 利用 HaspMap.values( ); 取出 其 value 的值 但不能取出key的值
其的到Collection 集合
如
//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");
}
第二种 利用其HashMap.keySet( ); 取出key键 再HashMap.get( Key ); 取出value的值
.keySet( ) 返回一个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()+"|");
}
第三种 利用entrySet( ); 遍历 其返回的是一个Set集合
如
//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)+"|");
}
以上都是自己在学Java时的笔记
发个博客 纪念点滴
如有雷同,不如加个联系呗