首页 > 编程语言 >Java数据结构 HashMap 哈希表定义使用

Java数据结构 HashMap 哈希表定义使用

时间:2023-03-27 13:02:47浏览次数:35  
标签:Java HashMap 哈希 value ostrich key hashmap2 hashmap1

1.HashMap

HashMap是一个散列表,它存储的内容是键值(key-value)映射。

其中key和value类型可以相同也就而已不同,根据定义。


2.HashMap使用

1)定义

HashMap<Integer, String> hashmap1 = new HashMap<Integer, String>();// 键int,值string<int, str>
HashMap<Integer, Integer> hashmap2 = new HashMap<Integer, Integer>();// 键int,值int<int, int>

2)增:添加键值对(key-value)

hashmap1.put(1, "ostrich");//hashmap1中的内容{1 = "ostrich"}
hashmap1.put(2, "not an ostrich")//hashmap1中的内容{1 = "ostrich", 2 = "not a ostrich"}
hashmap2.put(1, 1); //hashmap2中的内容{1 = 1}
hashmap2.put(2, 2); //hashmap2中的内容{1 = 1, 2 = 2}

3)查:根据key值查询value

hashmap1.get(1); //返回"ostrish"
hashmap2.get(1); //返回"1"

4)删:根据key值删除元素

hashmap1.remove(1); //hashmap1中的内容变成{2 = "not a ostrich"}
hashmap2.remove(1); //hashmap2中的内容变成{2 = 2}
hashmap1.clear();//删除所有键值对

5)改:根据key值修改对应的value

hashmap.replace(key, value);
hashmap2.replace(2, 3); //hashmap2中的内容变成{2 = 3}

6)哈希表大小查询

hashmap2.size();//结果为1

7)getOrDefault

有key,就使用对应的value,没有就将key的值定义为defaultcalue

hashmap.getOrDefault(key, defaultcalue);

hashmap2.getOrDefault(2, 0); 
hashmap2.getOrDefault(1, 0);//hashmap2内容变成{1 = 0,2 = 2}

标签:Java,HashMap,哈希,value,ostrich,key,hashmap2,hashmap1
From: https://blog.51cto.com/u_15098794/6151692

相关文章

  • java 类的初始化顺序
    父类的静态字段-->父类静态代码块-->子类静态字段-->子类的静态代码块-->父类成员变量-->父类构造代码块-->父类构造方法-->子类成员变量-->子类构造代码块-->子类构造方法......
  • Java程序基础
    一。面向对象的概念1.面向对象是一种思想,是Java基础知识中最重要的部分,没有之一。 面向对象是相对面向过程而言的,面向对象和面向过程都是一种思想。(1)分析不同面向......
  • java代码备份mysql数据库
    生成环境的数据库我们需要不断的进行备份,不然服务器出现故障,会是灾难性的直接添加我的代码packagecom.hrp.task;importcom.alibaba.fastjson.JSON;importcom.bas......
  • 剑指offer04(Java)二维数组中的查找(中等)
    题目:在一个n*m的二维数组中,每一行都按照从左到右 非递减 的顺序排序,每一列都按照从上到下 非递减 的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一......
  • Redis 哈希(Hash)
    Redis哈希(Hash)Redishash是一个string类型的field(字段)和value(值)的映射表,hash特别适合用于存储对象。Redis中每个hash可以存储232-1键值对(40多亿)。实......
  • Java静态代理和动态代理的区别
    一、静态代理代理模式可以在不修改被代理对象的基础上,通过扩展代理类,进行一些功能的附加与增强。代理类和被代理类应该共同实现一个接口,或者是共同继承某个类。优点:可以在......
  • 解决哈希冲突的方法
    1.开放定址法:线性探测法、平方探测法等。就是哈希冲突后,加上一个便宜,寻找不冲突的位置。ThreadLocal采用这种方法。2.拉链法:哈希冲突后,通过链表解决。HashMap采用这种方法......
  • 【JavaScript快速排序算法】不同版本原理分析
    说明快速排序(QuickSort),又称分区交换排序(partition-exchangesort),简称快排。快排是一种通过基准划分区块,再不断交换左右项的排序方式,其采用了分治法,减少了交换的次数。它的......
  • 某大厂面试题:说一说Java、Spring、Dubbo三者SPI机制的原理和区别
    大家好,我是三友~~今天来跟大家聊一聊Java、Spring、Dubbo三者SPI机制的原理和区别。其实我之前写过一篇类似的文章,但是这篇文章主要是剖析dubbo的SPI机制的源码,中间只是......
  • Java 在代码中区分json和array
    publicstaticvoidmain(String[]args){Stringn="{\n"+""data":[\n"+"{\n"+""category":"设计资质",\n"+""certNameL......