HashMap集合的get(),keySet(),values(),put(),clear()方法的使用

本文深入探讨了Java中HashMap的使用方法,包括如何创建、添加、获取和删除键值对,以及遍历集合的具体实现。通过实例代码,展示了HashMap的基本操作,如put(), get(), keySet(), values()等方法的应用。

get(),keySet(),values(),put(),clear()这些方法必须用HashMap的对象进行调用

import java.util.*;

/**
 * Map<key,value>
 * 键值对存储
 *      键唯一,值可以重复
 * 
 * get(Object key)           通过key得到value,返回key对应的value值
 * keySet()                  返回key的集合
 * Collection<V> values()    返回value的集合
 * @author Administrator
 *
 */
public class HashMapDemo {
    public static void main(String[] args) {
        // TODO Auto-generated method stub

        HashMap<String,String> map=new HashMap <String,String>();//创建集合,用泛型控制key和value为字符串类型
        map.put("001", "zhang");//存入元素
        map.put("002", "wang");//存入元素
        map.put("003", "zhang");//存入元素
        //map.put("001", "li");//会覆盖key(001)所对应的值,替换成当前value//map.clear();//清除对象中所有元素
        System.out.println(map.size());//返回map集合中元素个数

        System.out.println(map);//输出map集合中所有元素

        System.out.println(map.get("001"));//通过key(001)得到value

        Set<String> key=map.keySet();//获得key的集合
        System.out.println(key);//输出key的集合

        //遍历所有value
        for(String s :key){//取出每个key
            String  value1 =map.get(s);//取出key对应的value
            System.out.print("value:"+value1+" ");//输出每个value
        }

        System.out.println();
        Collection<String> values = map.values();//获得元素集合
        System.out.println(values);//输出元素集合
    }

}

运行结果
这里写图片描述

任务描述 本关任务:使用 HashMap 集合操作菜单。 相关知识 什么是 HashMap HashMap 是 Map 接口的实现类,它存储的内容是键值对(key-value)映射,其中 key、value 都可以为 null。HashMap 是无序的,即被存入到 HashMap 中的元素,在遍历 HashMap 时,其输出是无序的。 创建 HashMap 集合 使用以下代码即可创建一个 HashMap 集合。 public static void main(String[] args) { // 创建 HashMap 集合,key 存储字符串类型,value 存储整数类型 Map<String, Integer> hashMap = new HashMap<>(); } HashMap 集合常用方法 下表展示了 HashMap 集合的常用方法方法方法说明 put()方法集合中添加元素,key 值不可重复,重复时会覆盖之前的 value 值 size()方法 返回集合长度 get(key)方法 获取对应 key 值的 value 值 clear()方法 清除集合中的所有元素 values()方法 返回一个新集合,获取集合中所有元素的 values keySet()方法 返回一个新集合,获取集合中所有元素的 key remove()方法 根据 key 或者 key-value 去除集合中元素,并分别返回 value 值和 Boolean 值 iterator()方法 返回一个迭代器对象 entrySet()方法 将 Map 集合每个 key-value 转换为一个 Entry 对象,并返回由所有的 Entry 对象组成的 Set 集合 containsKey() 判断集合中是否含右指定的 key 值 常用方法示例: public static void main(String[] args) { // 创建 HashMap 集合,key存储字符串类型,value存储整数类型 Map<String, Integer> hashMap = new HashMap<>(); // 添加元素 hashMap.put("李四",28); hashMap.put("张三",26); hashMap.put("王五",26); // 根据 key 获取 value 值 Integer zs = hashMap.get("张三"); System.out.println(zs); // 获取所有 key 值 Set<String> strings = hashMap.keySet(); System.out.println(strings); // 获取所有 value 值 Collection<Integer> values = hashMap.values(); System.out.println(values); // 根据 key 去除元素 Integer ww = hashMap.remove("王五"); System.out.println(ww); // 根据 key-value 去除元素 boolean boole = hashMap.remove("李四", 28); System.out.println(boole); System.out.print(hashMap); } 执行结果: 26 [李四, 张三, 王五] [28, 26, 26] 26 true {张三=26} 遍历 HashMap 集合 以下是三种常用遍历方法。 public static void main(String[] args) { // 创建 HashMap 集合,key 存储字符串类型,value 存储整数类型 Map<String, Integer> map = new HashMap<>(); // 添加元素 map.put("李四",28); map.put("张三",26); map.put("王五",26); //第一种:通过 keySet 遍历,普遍使用 for (String key : map.keySet()) { System.out.println("key= "+ key + " and value= " + map.get(key)); System.out.println(----------); } //第二种:通过 entrySet 和迭代器遍历 Iterator<Map.Entry<String, Integer>> it = map.entrySet().iterator(); while (it.hasNext()) { Map.Entry<String, Integer> entry = it.next(); System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue()); System.out.println(----------); } //第三种:通过 entrySet 和增强 for 循环遍历,推荐,尤其是容量大时 for (Map.Entry<String, Integer> entry : map.entrySet()) { System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue()); System.out.println(----------); } } 执行结果: key= 李四 and value= 28 key= 张三 and value= 26 key= 王五 and value= 26 ---------- key= 李四 and value= 28 key= 张三 and value= 26 key= 王五 and value= 26 ---------- key= 李四 and value= 28 key= 张三 and value= 26 key= 王五 and value= 26 编程要求 仔细阅读右侧编辑区内给出的代码框架及注释,在 Begin-End 间编写程序代码,使用 HashMap 集合的常用方法完成所给要求,具体如下: 接收给定的一行字符串(如:红烧鱼:50,小炒牛肉:75,...); 切割字符串,把切割后的元素添加进 HashMap 集合中; 往集合中添加一道菜,菜名:lamb,价格:50; 输出所有菜名(不含价格); 删除红烧鱼和小炒牛肉这两道菜后输出集合长度; 打印集合。 注意:字符串中的逗号和分号都是中文符号。 测试说明 平台将使用测试集运行你编写的程序代码,若全部的运行结果正确,则通关。 例: 测试输入: 粉蒸肉:50,红烧鱼:50,小炒牛肉:75,手撕包菜:20,蒜蓉虾:100 预期输出: [手撕包菜, 蒜蓉虾, lamb, 小炒牛肉, 粉蒸肉, 红烧鱼] 4 {手撕包菜=20, 蒜蓉虾=100, lamb=50, 粉蒸肉=50}
最新发布
10-10
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值