Java中Map接口的常用方法有哪些?

您所在的位置:网站首页 map所有方法 Java中Map接口的常用方法有哪些?

Java中Map接口的常用方法有哪些?

2024-07-10 20:10| 来源: 网络整理| 查看: 265

关于Map接口中常用的方法:

1、Map接口和Collection接口没有继承关系。

2、Map集合以key和value(键值对)的方式存储数据。

key和value都是引用数据类型,存储的都是对象的内存地址。

key起到主导的地位,value是key的一个附属品。

3、Map集合中key是唯一的,即所有键值对的key部分都不相同。

Map集合中不同键值对的value是可以相同的。 例如:,。

往Map集合中添加key已经存在的新键值对,会覆盖原来的键值对。

4、Map接口中常用的方法:

Map属于接口,接口中的方法为抽象方法,public abstract可以省略。

(1)V put(K key, V value); 向集合中添加元素。

(2)V get(Object key); 通过指定key获取value。

(3)int size(); 获取集合中元素的个数。

(4)void clear(); 清空集合,元素个数变为0。

(5)boolean isEmpty(); 判断集合元素个数是否为0。

(6)boolean containsKey(Object key); 判断集合中是否包含指定key。

(7)boolean containsValue(Object value); 判断集合中是否包含指定value。

注意:contains()方法底层都调用了equals()方法,再次强调存入集合元素的类一定要重写equals()方法。

(8)Set keySet(); 获取集合中所有的key,返回一个包含所有key元素的Set集合。

(9)Collection values(); 获取集合中所有的value,返回一个包含所有value元素的Collection集合。

(10)V remove(Object key); 删除指定key的键值对。

(11)default boolean replace(K key, V oldValue, V newValue); 修改键值对的value为newValue。

(12)Set entrySet(); 将Map集合转换成Set集合。

Map集合中每个键值对组成一个元素(key=value),存入Set集合,每个元素的类型是Map.Entry。

测试代码:

import java.util.*; public class Test01 { public static void main(String[] args) { // 创建Map集合 Map hashMap = new HashMap(); // 泛型指定键值对为类型 // 添加键值对 hashMap.put(1, "张三"); // 这里的1会自动装箱成Integer类型 hashMap.put(1, "张三三"); // 会添加成功吗?可以,但key不能相同,所以会覆盖原来的数据 // 输出集合中元素的个数 System.out.println(hashMap.size()); // 1 hashMap.put(2, "张三三"); // 会添加成功吗?会的,键值对的value可以相同 System.out.println(hashMap.size()); // 2 // 删除集合中key为2的键值对 hashMap.remove(2); System.out.println(hashMap.size()); // 1 // 获取键值对key为1的value String value = hashMap.get(1); System.out.println(value); // 张三三 // 修改指定键值对的value值 hashMap.replace(1, "张三三", "张三"); System.out.println(hashMap.get(1)); // 张三 hashMap.put(2, "李四"); hashMap.put(3, "王五"); hashMap.put(4, "赵六"); // 是否包含指定key boolean cKey1 = hashMap.containsKey(2); boolean cKey2 = hashMap.containsKey(6); System.out.println(cKey1); // true System.out.println(cKey2); // false // 是否包含指定value boolean cValue1 = hashMap.containsValue("李四"); boolean cValue2 = hashMap.containsValue("熊大"); System.out.println(cValue1); // true System.out.println(cValue2); // false // 获取Map集合中所有的key Set keys = hashMap.keySet(); // Map中所有的key没有相同的,故返回的是一个Set集合 // 遍历Set集合 for (Integer i : keys) { System.out.print(i + " "); // 1 2 3 4 } System.out.println(); // 获取Map集合中所有的value Collection values = hashMap.values(); // Map中所有的value是可以相同的,故返回的是一个Collection集合 // 遍历Collection集合 for (String str : values) { System.out.print(str + " "); // 张三 李四 王五 赵六 } System.out.println(); // 把Map集合转换成Set集合 Set mapToSet = hashMap.entrySet(); // 每个键值对的key与value合并成“key=value”,组成Set的一个元素 // 遍历转换后的Set集合 for (Map.Entry m : mapToSet) { System.out.print(m + " "); // 1=张三 2=李四 3=王五 4=赵六 } System.out.println(); // Map集合的元素清空 hashMap.clear(); System.out.println(hashMap.isEmpty()); // true System.out.println(hashMap.size()); // 0 } }


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3