java hashmap 常用方法,Java中HashMap的一些常用方法举例

本文介绍Java中Map的基本使用方法,包括如何添加、获取、删除映射关系,以及遍历Map的几种常见方式。

本人之前已经写过了ArrayList和HashSet的常用方法,大家可以去对比着看一下;其实有很多方法都是差不多的,可以对比着学习哦····加油? ArrayList用法???HashSet用法

方法概览:

put(Object key,Object value)和putAll(Collection c)添加映射get(Object key)根据键来获取对应的值containsKey(Object key)和containsValue(Object value)remove(Object key)values()isEmpty()entrySet()keySet()

Map与其他两个集合的区别就是,在Map中数据是以键-值对的形式存储的。一个键值对交一个映射;访问元素的时候只能通过键来访问指定的元素

全局Map

HashMap hm1 = new HashMap();

HashMap hm2 = new HashMap();

put(Object key,Object value)在此映射中关联指定的Key-valueputAll(Collection c)在此映射中将指定的映射关系添加到被操作的映射中

String [] key = {"name","age","tender"};

String [] value = {"zhangsan","16","men"};

hm2.put("id","012");

hm2.put("describe", "zhangdelaohaokanle");

for(int i = 0;i<3;i++){

hm1.put(key[i], value[i]);

}

hm1.putAll(hm2);

get(Object key)根据key获取指定的value

System.out.println(hm1.get("name"));

containsKey(Object key)检测该映射中是否存在指定key的映射,有则返回true;没有则返回falsecontainsValue(Object value)检测该映射中是否存在指定value的映射,有则返回true;没有则返回false

System.out.println(hm1.containsKey("id")+"    "+hm1.containsValue("013"));

remove(Object key)根据key的值删除指定的映射关系

System.out.println(hm1.remove("describe"));

values()返回值的集合,

Collection li = hm1.values();

for (String string : li) {

System.out.print(string+"     ");

}

isEmpty()测试映射是否为空

System.out.println("\n"+hm1.isEmpty());

重要的事情要用三条杠来分割??????

- ??????遍历map得到key和value的两种方法??????

entrySet()将此映射所包含的映射关系返回到Set中,通过Iterator迭代器迭代输出,或者用foreach输出

这里我们推荐forearch,为什么呢?哈哈,观察仔细的同学都看出来了,因为foreach代码量少?,还有一点就是foreach效率高,不仅是开发效率,还有运行效率

for (Map.Entry me:hm1.entrySet()) {

System.out.println(me.getKey()+":"+me.getValue());

}

/*Set> se = hm1.entrySet();

Iterator> it = se.iterator();

while(it.hasNext()){

Map.Entry me =  it.next();

System.out.println(me.getKey()+":"+me.getValue());

}*/

2、keySet()将映射中所包含的键返回到Set中,通过Set的Iterator迭代器迭代输出,或者用foreach输出

这里我们推荐forearch,为什么呢?哈哈,观察仔细的同学都看出来了,因为foreach代码量少?,还有一点就是foreach效率高,不仅是开发效率,还有运行效率,哈哈同上?

for (String key1:hm1.keySet()) {

System.out.println(key1+":"+hm1.get(key1));

}

/*Set set = hm1.keySet();

Iterator it1 = set.iterator();

while(it1.hasNext()){

System.out.println(hm1.get(it1.next()));

}*/

本博客纯属平时学习笔记没有很多技术含量,小白可以来学习一下。也欢迎各位大佬打扰指教!?

<think>好的,我现在需要回答用户关于JavaHashMap的getOrDefault方法的问题。首先,我得确认用户的问题是什么,用户可能想知道这个方法的用途、用法或者与其他方法的区别。 首先,getOrDefault方法HashMap中的一个方法,用于根据键获取对应的值,如果键不存在,则返回默认值。我需要解释清楚这个方法的作用,并举例说明。比如,当键存在时返回对应的值,否则返回默认值,这样可以避免空指针异常。 接下来,我需要提供一个示例代码,展示如何使用getOrDefault。例如,创建一个HashMap,添加一些键值对,然后分别测试键存在不存在的情况,输出结果应该符合预期。代码应该简洁明了,使用正确的语法。 然后,我需要考虑用户可能的疑问点。比如,getOrDefault与get方法的区别。get方法在键不存在时会返回null,而getOrDefault返回默认值,这样更安全,尤其是在处理基本类型或需要默认值的情况下。 另外,用户可能想知道这个方法的时间复杂度,通常是O(1),因为HashMap的查找时间复杂度平均是O(1)。不过,在哈希冲突严重的情况下可能退化为O(n),但一般情况下可以忽略。 还要注意线程安全的问题,HashMap本身不是线程安全的,所以getOrDefault在多线程环境下可能有问题,需要额外的同步措施。但用户的问题可能没有涉及这一点,所以是否需要提及要看情况。 最后,按照要求,回答完问题后必须提出3-5个相关问题。这些问题应该围绕getOrDefault方法,比如与其他方法的比较、使用场景、默认值的类型要求等。例如,可以问getgetOrDefault的区别,是否可以用于其他Map实现类,或者默认值为null的情况如何处理。 现在,我需要将这些思考整理成一个结构化的回答,包括方法解释、示例代码、注意事项,然后生成相关问题。确保回答符合用户的要求,格式正确,没有使用Markdown,并且相关问题在末尾正确列出。</think>JavaHashMap的getOrDefault方法用于根据键获取对应值,若键不存在则返回指定默认值。该方法避免了直接调用get可能导致的空指针异常。 ```java HashMap<String, Integer> map = new HashMap<>(); map.put("A", 1); // 键存在时返回对应值 System.out.println(map.getOrDefault("A", 0)); // 输出1 // 键不存在时返回默认值0 System.out.println(map.getOrDefault("B", 0)); // 输出0 ``` 注意:该方法Java 8中引入,适用于所有实现Map接口的类。当需要获取值且存在默认处理逻辑时,比先判断null更简洁安全。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值