IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> Java—hasMap() 哈希图 -> 正文阅读

[数据结构与算法]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);

    }
}

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

JDK:Java 1.8

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

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

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2021-09-09 12:01:51  更:2021-09-09 12:02:31 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 1:25:26-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码