HashMap的三种遍历方式

本文通过具体实例展示了Java中HashMap的使用方法,包括增删改查等基本操作,并介绍了三种遍历方式及其适用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map.Entry;
import java.util.Set;

public class HashMapDemo {

    public static void main(String[] args) {
        HashMap map = new HashMap();
        //HashMap<Object,Object> map = new HashMap<Object,Object>();
        HashMap<Object, Object> map2 = new HashMap<Object, Object>();

        //添加--map.put(key,value)
        map.put("1001", "张三");
        map.put("1002", "李四");
        map.put("1003", "Jack");
        map.put("1004", "Tom");

        //删除--map.remove(key)
        Object obj = map.remove("1003");
        System.out.println("删除的元素:"+obj);

        //修改--put(key,value) ,当key存在
        map.put("1002", "赵敏"); //如果key存在则是修改,否则是添加


        //查询
        //查单个 ---map.get(key)
        Object v = map.get("1002"); //如果key所对应位置的value不存在,则返回null
        System.out.println("1002:"+v);

        //遍历方法1---视图1---map.entrySet()
        System.out.println("------视图1---entrySet------------");
        Set entries = map.entrySet();
        Iterator it = entries.iterator();
        while(it.hasNext()){
            Entry en = (Entry) it.next();
            Object key = en.getKey();
            Object value = en.getValue();
            System.out.println(key+","+value);
        }

        //遍历方法2---视图2---map.keySet()
        System.out.println("------视图2---keySet------------");
        Set set = map.keySet();
        Iterator it2 = set.iterator();
        while(it2.hasNext()){
            Object kk = it2.next();
            Object vv = map.get(kk);
            System.out.println(kk+","+vv);
        }

        //如果想避开迭代器来遍历集合(Collection=List或Set),可以转换成数组来进行
        System.out.println("------");
        Object objs[] = set.toArray();
        for(int i=0;i<objs.length;i++){
            System.out.println(objs[i]+","+map.get(objs[i]));
        }


        //遍历方法3---视图3---map.values()--Collection 
        //values视图只能拿到value,不方便拿到key,我们一般很少使用,抛弃了key优点。
        System.out.println("------视图3---values------------");
        Collection col = map.values();
        Iterator it3 = col.iterator();
        while(it3.hasNext()){
            Object val = it3.next();
            System.out.println(val);
        }

    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值