Java—hasMap() 哈希图

今天刷LeetCode时忽然发现!原来,我写了那么久的数据结构C语言的实现,在Java中竟可直接调用!!Java yyds!!!

分模块写带麻烦了,直接把idea写好的代码粘过来一起学习Java中最常用的图——哈希图!!

package com;

import javafx.event.Event;
import java.util.HashMap;
import java.util.Locale;

public class ldy {
    public static void main(String[] args){
        HashMap<Integer,String> Site=new HashMap<Integer,String>();
        Site.put(1,"Alibaba");
        Site.put(2,"Runoob");
        Site.put(3,"Taobao");
        Site.put(4,"Zhihu");
        Site.put(5,"Firefox");
        System.out.println(Site);
        //使用get方法进行获取
        System.out.println("第三个数据是:"+Site.get(3));
        //删除数据
        Site.remove(4);
        System.out.println("删除了数据后的哈希图:"+Site);
        //计算大小
        System.out.println("该哈希表存储元素的个数为:"+Site.size());
        //使用keySet()方法进行迭代
        for(Integer i:Site.keySet()){
            System.out.println("Key:"+i+"value"+Site.get(i));
        }
        //返回所有value值
        for(String value:Site.values()){
            System.out.println(value+",");
        }
        //clone()一份哈希图
        System.out.println("ClonHashMap:"+Site.clone());
        //isEmpty()判空
        boolean result ;
        result= Site.isEmpty();
        System.out.println("是否为空?"+result);
        //putAll()将指定的所有键或数值插入进HashMap中
        HashMap<Integer,String> Site2=new HashMap<>();
        Site2.put(1,"Weibo");
        Site2.put(4,"Wiki");
        Site2.putAll(Site);
        System.out.println("Site2 HashMap:"+Site2);
        //putIfAbsent()如果该哈希图中不存在该值,则插入进该哈希图
        Site.putIfAbsent(4,"Weibo");
        Site.putIfAbsent(2,"Runoob");
        System.out.println("更新后的哈希图为:"+Site);
        //containsKey查找元素是否在图中
        if(Site.containsKey(7)){
            System.out.println("元素为7的元素在哈希图中!");
        }else {
            System.out.println("元素为7的元素不在哈希图中!");
        }
        //containsValue()
        //replace()替换指定的key对应的value
        String value = Site.replace(2,"Wiki");//将2对应的元素替换为Wiki
        System.out.println("更新后的哈希图值为:"+Site);
        //replaceAll()将 hashMap 中的所有映射关系替换成给定的函数所执行的结果。
        //getOrDefault() 方法获取指定 key 对应对 value,如果找不到 key ,则返回设置的默认值。
        String value1=Site.getOrDefault(1,"没有找到!");
        System.out.println("元素1所对应的值:"+value1);
        String value2 = Site.getOrDefault(8,"没有找到!");
        System.out.println("元素8所对应的值"+value2);
        //forEach() 方法用于对 HashMap 中的每个映射执行指定的操作。
        HashMap<String, Integer> prices = new HashMap<>();
        prices.put("Shoes", 200);
        prices.put("Bag", 300);
        prices.put("Pant", 150);
        System.out.println("Normal Price: " + prices);
        System.out.print("Discounted Price: ");
        //通过 lambda 表达式使用 forEach()
        prices.forEach((key, value3) -> {
            // value 价格减少百分之 10
            value3 = value3 - value3 * 10/100;
            System.out.println(key + "=" + value3 + " ");
        });
        //entrySet() 方法返回映射中包含的映射的 Set 视图。
        //判断元素是否出现,出现的话插入进去,否则添加
        String returnedValue=Site.merge(10,"baidu",(oldValue,newValue) -> oldValue + newValue);//拉姆达法则
        System.out.println("加入的元素为:"+returnedValue);
        System.out.println("更新后的哈希图值为:"+Site);
        //compute() 方法对 hashMap 中指定 key 的值进行重新计算
       // int newPrice = prices.compute("Shoes",(key, value) -> value - value * 10/100);
        //删除所有的键值
        Site.clear();
        Site2.clear();
        System.out.println("删除了所有的元素后:"+Site);
        System.out.println("删除了所有的元素后:"+Site2);

    }
}

学艺不精,若有错误还请多多指教,谢谢。

算法爱好者协会群:940100543,加入学习讨论。

JDK:Java 1.8

所使用IDE为:IDEA 2021.1 支持正版 无下载链接

推荐新手使用 JDK+文本编辑器 一个字一个字打出来的才是王道!
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爷傲|奈我何

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值