JAVAHashMap集合

概念:HashMap类似于Hashset与ArrayList集合的集合版,HashMap拥有key键值和value值,HasMap也不能用普通for循环遍历,key相当于ArrayList集合中的下标,我们可以根据需求自定义键值也就是下标,我们可以通过相应的key键值找到相对应的values值,与Hashset相比它有索引对于HashSet来说,有一个<E>代表泛型。它是专门处理键值映射数据的存储,可以根据键值实现对值 的操作

特点:1.HashMap是可以序列化的。是线程不安全的。

2.因为HashMap的底层主要是基于数组与链表实现的,所以它有相当快的查询速度

常用的HashMap方法有:

.put():以键、值的方式进行存储

.get():根据key返回相关联的值,如果不存在则返回null

.size():返回元素个数

.remove():删除由指定的键映射的键值对

.keySet():返回键的集合

.values():返回值的集合

.containsKey():查询是否存在映射的键值对

.containsValue():查询是否存在由这个值的键对

代码如下:

package com.ytzl.第一章.y1;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

public class map {
    public static void main(String[] args) {
        HashMap<Object, Object> map = new HashMap<>();//声明map集合
        //录入key值和values值
        map.put("刺客","李白");
        map.put("法师","王昭君");
        map.put("坦克","典韦");
        map.put("战士","雅典娜");
        System.out.println("所有key值集合=>"+map.keySet());//keySet()获取所有的keySet值
        System.out.println("所有values值集合=>"+map.values());//values()获取所有的values值
        System.out.println("刺客英雄有"+map.get("刺客"));//get()根据键值获取相应的values值
        map.put("坦克","牛魔");//可以通过键值直接更改values值
        for (Object obj://通过foreach循环进行遍历
             map.keySet()) {//迭代键来输出
            System.out.println("Key=>"+obj+"   values=>"+map.get(obj));
        }
        map.remove("法师");//可以通过key的值来删除相应的Key和values值
        map.remove("战士","典韦");//也可以通过values与key来删除相应的map
        if (map.isEmpty()){//isEmpty来判断该集合是否为空
            System.out.println("该集合为空");
        }else {
            System.out.println("该集合中存在元素");
            System.out.println("是否存在李白"+map.containsValue("李白"));
            System.out.println("是否存在刺客"+map.containsKey("刺客"));
            Iterator<Map.Entry<Object, Object>> iterator = map.entrySet().iterator();//创造迭代器
            while (iterator.hasNext()){//将所有的值存在迭代器中
                Map.Entry<Object,Object> one=iterator.next();//通过其赋值获取
                System.out.println("Key=>"+one.getKey()+"   Values=>"+one.getValue());//通过封装的方法来get获取相应的值
            }
            System.out.println("该集合的长度为=>"+map.size());
            map.clear();//清空该集合
        }
    }
}

代码运行结果如下:

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值