首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【Java】HashMap的简单使用(含小部分源码,get报错问题)

二、HashMap的一些常用方法 ①.put(K key, V value) 将键(key)/值(value)映射存放到Map集合中(HashMap的key值不可重复,如果已经有了该key值的存在,那么就会更新该...key) 返回指定键所映射的值,没有该key对应的值则返回 null,即获取key对应的value。...我们调用map的get方法传入一个String类型字符串,返回的应该是一个Integer类型的对象。...好,既然返回的是一个Integer类型的对象,并且我是用的是int来接收这个Integer类型的对象,这个样子就是一个拆箱的过程,将Integer转为int,调用的是Integer的valueOf方法。...如果你的Integer压根不存在,那么null怎么调用valueOf去进行拆箱操作?int类型也无法接收一个null值呀,真相大白。 这里不太理解的可以看我的另一篇文章,可能对你有启发。

14010
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【Java 基础篇】深入理解Java HashMap:使用注意事项和性能优化

    更多操作 当涉及到HashMap的更多操作时,有一些重要的概念和方法可以帮助您更灵活地处理数据。以下是一些HashMap的更多操作: 1....否则返回false。...判断是否包含键或值 您可以使用containsKey方法来检查HashMap是否包含特定键: boolean containsKey = hashMap.containsKey("apple"); //...因此,要谨慎使用大型HashMap,以避免内存占用过多。 使用泛型: 在创建HashMap时,尽可能使用泛型来指定键和值的类型,以提高类型安全性。...异常处理: 当使用get方法获取值时,要考虑键不存在的情况,以避免NullPointerException。可以使用containsKey方法或条件语句来检查键是否存在。

    1.8K40

    【Map vs Set】:Java数据存储的“双子星”对决

    直接遍历和二分查找比较适合静态类型的查找,即一般不会对区间进行插入和删除操作。 所以当需要动态查找时,即查找时要进行一些插入和删除,上述的方法并不适用 。...2.模型 一般把搜索的数据称为关键字(key),和关键字对应的称为值(value),所以有两种模型: 1.纯key模型:由唯一的键(key)组成,没有与键直接关联的特定值(value)。...2.Map的实例化 Map是将键(key)与值(alue)进行关联的数据结构,K表键的类型,V代表值的类型。...() 返回value的可重复集合 Set> entrySet() 返回所有的key-value的映射关系 boolean containsKey(Object key) 判断是否包含...>c) 集合中的元素是否在set中的全部存在,是返回true,否则返回false boolean addAll(Collection<?

    7510

    【算法】哈希表

    零:HashMap 1:实例化 实例化:Map hash = new HashMap //键值对形式 2:put方法 hash.put(key,value)...) 返回键值key所对应的value//如果key不存在,那么返回null(boolean类型),一般还是getOrDefault()用的多 5:获取key,若无返回自定义值...hash.getOrDefault(key2,自定义值) 在表里查找是否存在key2这个关键字,若存在返回key2所对应的value,不存在返回自定义的值 注:不能尾追++,一般采用hash.getOrDefault...若查询的k在hash表中存在则返回true,否则false 没有hash.contains()这个方法 8:遍历hashMap for(Map.EntryInteger , Integer> entry...9:Map.Entry entry 用法 Map.Entry 对象有两个方法:getKey() 和 getValue(),分别用于获取键和值。 一:哈希表 1.

    7900

    Java Map集合的详解「建议收藏」

    Map是一种依照键(key)存储元素的容器,键(key)很像下标,在List中下标是整数。在Map中键(key)可以使任意类型的对象。...查看api文档: interface Map K – 此映射所维护的键的类型 V – 映射值的类型 概念 将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。...3、判断: 1、boolean isEmpty() 长度为0返回true否则false 2、boolean containsKey(Object key) 判断集合中是否包含指定的key...("map.size:" + map1.size()); 判断: // 判断: // boolean isEmpty() 长度为0返回true否则false // boolean containsKey...,Map的键不可重复,如果存入重复元素如何处理 Set元素重复元素不能存入add方法返回false Map的重复健将覆盖旧键,将旧值返回。

    71420

    【Java 基础篇】深入了解Java中的键值对集合:Map集合详解

    获取值 通过键获取对应的值: int value = hashMap.get("apple"); // 返回1 4....判断键是否存在 可以使用containsKey方法来判断键是否存在: boolean contains = hashMap.containsKey("apple"); // 返回false 6....使用merge方法进行默认值设置 如果要为Map中的某个键设置默认值,可以使用merge方法: MapInteger> map = new HashMap(); map.put("...记住,在使用Map时,根据具体场景选择合适的方法非常重要,可以提高代码的可读性和性能。 注意事项和最佳实践 在使用Map时,有一些注意事项和最佳实践需要记住: 1....考虑键和值的类型 Map可以使用不同类型的键和 值。确保键和值的类型能够满足您的需求,不会引发类型转换错误。 4.

    3.9K20

    新手小白学电脑_新手小白开公司

    继承结构 1.4 常用方法 学习Map接口中的方法即可 void clear() 从此映射中移除所有映射关系(可选操作) boolean containsKey(Object key) 如果此映射包含指定键的映射关系...() 返回此映射中包含的映射关系的 Set 视图 boolean equals(Object o) 比较指定的对象与此映射是否相等 V get(Object key) 返回指定键所映射的值;如果此映射不包含该键的映射关系...,则返回 null int hashCode() 返回此映射的哈希码值 boolean isEmpty() 如果此映射未包含键-值映射关系,则返回 true Set keySet() 返回此映射中包含的键的...() 返回此映射中的键-值映射关系数 Collection values() 返回此映射中包含的值的 Collection 视图 1.5 练习:Map常用方法测试 创建包: cn.tedu.map...,一定注意要同时指定K和V的数据类型 * 至于这个K和V具体要指定成什么类型,取决于具体的业务需求*/ MapInteger,String> map = new HashMap();//注意导包:

    77710

    Java(集合④)

    前提条件: 当方法的参数列表数据类型已经确定,但是参数个数不确定,就可以使用可变参数; 格式: 修饰符 返回值类型 方法名(数据类型...变量名){} 代码: public static void...; JDK1.8之前:数组+单项链表; JDK1.8之后:数组+单项链表/红黑树; 2、HashMap是一个无序集合,存储和取出的元素顺序有可能不一致; Map接口中的方法...);//删除Key值为"小强"的元素 ③V get(Object key):返回指定键所映射的值;如果此映射不包含该键的映射关系,则返回 null(获取参数Key对应的Value值) Map键的映射关系,则返回 true(查询对应key值) MapInteger> map=new HashMap();//创建集合 map.put...("小强",18);//存放进集合 map.containsKey("小强");//查询Key值为小强的元素,返回true HashMap集合的遍历: 第一种遍历: Set keySet():返回此映射中包含的键的

    72520

    java面试热点:集合框架(二)

    Set接口有一个叫做SortedSet的子接口,这个接口可以用来实现对Set元素的排序。 SortedSet有叫NavigableSet的子接口,这个接口定义的方法可以在有序Set中进行查找和遍历。...它们之间的重要区别在于前者若操作失败会抛出一个异常,后者若操作失败会从返回值体现出来(比如返回false或null),我们可以根据具体需求调用它们中的前者或后者。...(返回小于等于指定键的最大键所关联的键值对),ceilingEntry(返回大于等于指定键的最小键所关联的键值对)和higerEntry(返回大于指定键的最小键所关联的键值对)。...比如,我们可以调用以下方法将任意一个实现了Map接口的集合变为线程安全的: MapInteger> map = Collections.synchronizedMap(new HashMap...HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因为contains方法容易让人引起误解。

    57900

    【Java 基础篇】Java Map 详解

    在Java中,Map接口有几个常见的实现类,每个实现类都具有不同的性能和用途。 HashMap:基于哈希表实现,具有快速的查找和插入操作,适用于需要快速查找键值对的场景。...以下是一些常用的HashMap方法: put(K key, V value): 将指定的键值对添加到HashMap中。 remove(Object key): 从HashMap中移除指定键的键值对。...get(Object key): 返回指定键对应的值。 containsKey(Object key): 检查HashMap中是否包含指定的键。...get(Object key): 返回指定键对应的值。 containsKey(Object key): 检查TreeMap中是否包含指定的键。 size(): 返回TreeMap中键值对的数量。...containsKey(Object key): 检查LinkedHashMap中是否包含指定的键。 size(): 返回LinkedHashMap中键值对的数量。

    24110

    第十九天 集合-Map接口容器工具类集合框架总结【悟空教程】

    1.1.3 Map的常用方法 Map(HashMap)的使用:创建对象时加入两个泛型。 Map key - 此映射所维护的键的类型 value - 映射值的类型 ?...put方法:将指定的键与值对应起来,并添加到集合中 方法返回值为键所对应的值 使用put方法时,若指定的键(key)在集合中没有,则没有这个键对应的值,返回null,并把指定的键值添加到集合中...boolean containsKey(Object key) 如果此映射包含指定键的映射关系,则返回 true。...boolean containsKey(Object key) 如果此映射包含指定键的映射关系,则返回 true。...,并且多个参数类型一致,我们可以对其简化成如下格式: 修饰符 返回值类型 方法名(参数类型...

    1.1K30

    各大厂都在考的 Java 集合知识点总结,不来看看???

    HashSet 中判断集合元素相等 不同的对象进行比较,可以有如下四种情况: 若两元素通过 equal() 方法比较返回 false,但两者的 hashCode() 返回不相等,则将其存储在不同位置;...若两元素通过 equal() 方法比较返回 true,但两者的 hashCode() 返回不相等,则将其存储在不同位置; 若两元素通过 equal() 方法比较返回 false,但两者的 hashCode...接口中通常提供了如下方法: 方法 说明 void clear() 从映射中移除所有映射关系 boolean containsKey(Object key) 若映射中包含指定 key 的映射关系,返回 true...它的 iterator方法返回的迭代器是 fail-fastl 的。 7.5 WeakHashMap 除了自身有对 key 的引用之外,若 key 没有其他引用指向它,此时就会自动丢弃该值。...用 == 代替 equals() 对键进行排序,专位解决特殊问题 链表 参考资料 [1] HashMap 知多少: 3.HashMap.md 点击查看往期精彩内容 二叉树的 4 种遍历方式,你会多少

    3.9K30

    Java基础-18(01)总结Map,HashMap,HashMap与Hashtable区别,Collections工具类

    先不告诉你,等会讲 * 如果键是第一次存储,就直接存储元素,返回null * 如果键不是第一次存在,就用值把以前的值替换掉,返回以前的值 * 2:删除功能 * void clear():移除所有的键值对元素...* V remove(Object key):根据键删除键值对元素,并把值返回 * 3:判断功能 * boolean containsKey(Object key):判断集合是否包含指定的键...("黄晓波")); // boolean containsKey(Object key):判断集合是否包含指定的键 // System.out.println("containsKey:" + map.containsKey...* 看看我们开始的一个方法: * Set> entrySet():返回的是键值对对象的集合 */ public class MapDemo4 { public static...[] args) { // 创建集合对象 HashMapInteger, String> hm = new HashMapInteger, String>(); // 创建元素并添加元素 /

    73340

    JavaSE集合(八)之Map

    将键映射到值的对象,一个映射不能包含重复的键(如果有添加有重复的键,后面的会覆盖掉前面的,但是如果是自定义类型必须重写hashCode()和equals()方法),每个键最多只能映射到一个值。   ...所以如果代码是线程安全的,那么应该使用HashMap,因为Hashtable的同步是有一定量的运行代价的。...:删除指定key所对应的键值对,返回可以所关联的value,如果key不存在,返回null 判断功能 * boolean containsKey(Object key):判断集合是否包含指定的键...2.2、实例:在HashMap中存储key为Student对象,value为String类型   1)当键是自定义类型时怎么保证唯一性:重写hashCode()和equals()方法,这样我们在存储的时候如果有重复的键...hm.containsKey(c) ? 1 : hm.get(c) + 1); Integer i = !hm.containsKey(c) ?

    94380

    Java集合框架Map接口

    Map接口提供了一些方法来实现基本的键值对操作,例如添加、查找、删除等。Map接口的实现类可以根据其内部数据结构的不同,分为几种类型,例如HashMap、TreeMap和LinkedHashMap等。...get(Object key):获取指定键对应的值,如果键不存在,则返回null。remove(Object key):从Map中删除指定键及对应的值。...containsKey(Object key):判断Map中是否包含指定的键。containsValue(Object value):判断Map中是否包含指定的值。...size():返回Map中键值对的数量。keySet():返回一个包含Map中所有键的Set集合。values():返回一个包含Map中所有值的Collection集合。...entrySet():返回一个包含Map中所有键值对的Set集合。Map接口中的键和值都可以是任意类型的,但是在使用时需要注意键的唯一性。

    19321
    领券