Java HashMap 集合 三种常用遍历

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时的笔记

发个博客 纪念点滴

如有雷同,不如加个联系呗

猜你喜欢

转载自blog.csdn.net/qq_34708892/article/details/79046502