java中map的方法有那些_Java中Map接口的常用方法有哪些

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

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

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

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

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

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

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

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

3.Map接口中常用的方法:

(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

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值