Map常用方法示例
import org.junit.Test;
import java.util.Collection;
import java.util.HashMap;
import java.util.Set;
public class MapTest {
/**
* Map中的添加、删除、修改方法
* put(Object key,Object value);添加操作/修改操作
* putAll(Map m);将m中所有的key-value存放到当前对象map中
* Object remove(key);移除指定Key的key-value对,并返回value;
* 清空当前map中所有的数据 void clear();
*/
@Test
public void test() {
HashMap map = new HashMap();
//put(Object key,Object value);添加操作
map.put("AA", 123);
map.put("BB", 23);
map.put("DD", 13);
System.out.println("put(Object key,Object value);添加操作: " + map);
//put(指定key,Object value);修改指定Key上面的value值
map.put("AA", 456);
System.out.println("put(指定key,Object value);修改指定Key上面的value值: " + map);
//putAll(Map m);将m中所有的key-value存放到当前对象map中
HashMap map1 = new HashMap();
map1.put("EE", 789);
map1.put("RR", 1011);
map.putAll(map1);
System.out.println("putAll(Map m);将m中所有的key-value存放到当前对象map中: " + map);
//Object remove(key);移除指定Key的key-value对,并返回value;
Object ee = map.remove("EE");
System.out.println("Object remove(key);移除指定Key的key-value对,并返回value; " + map);
System.out.println("返回value值:" + ee);
//清空当前map中所有的数据 void clear();
map1.clear();
System.out.println("清空当前map中所有的数据 void clear(); " + map1);
}
/**
* 元素查询的操作
* Object get(Object key);获取指定key对应的value
* boolean containsKey(Object key);是否包含指定的key
* boolean containsValue(Object value);是否包含指定的value
* int size();返回map中key-value对的个数
* boolean isEmpty();判断当前map是否为空
* boolean equals(Object obj);判断当前map和参数对象obj是否相等
*/
@Test
public void test2() {
HashMap map = new HashMap();
map.put("AA", 456);
map.put("QQ", 156);
map.put("SS", 436);
map.put("WW", 4566);
//Object get(Object key);获取指定key对应的value
Object qq = map.get("QQ");
System.out.println("Object get(Object key);获取指定key对应的value: " + qq);
//boolean containsKey(Object key);是否包含指定的key
boolean key = map.containsKey("SS");
System.out.println("boolean containsKey(Object key);是否包含指定的key: " + key);
//boolean containsValue(Object value);是否包含指定的value
boolean value = map.containsValue(4566);
System.out.println("boolean containsValue(Object value);是否包含指定的value: " + value);
//int size();返回map中key-value对的个数
int size = map.size();
System.out.println("int size();返回map中key-value对的个数: " + size);
//boolean isEmpty();判断当前map是否为空
boolean empty = map.isEmpty();
System.out.println("boolean isEmpty();判断当前map是否为空: " + empty);
//boolean equals(Object obj);判断当前map和参数对象obj是否相等
HashMap map1 = new HashMap();
map1.putAll(map);
boolean equals = map.equals(map1);
System.out.println("boolean equals(Object obj);判断当前map和参数对象obj是否相等: " + equals);
}
/**
* 无视图操作方法
* Set keySet();返回所有key所构成对的Set集合
* Collection values();返回所有value所构成的Collection集合
* Set entrySet();返回所有key-value对构成的Set集合
*/
@Test
public void test3() {
HashMap map = new HashMap();
map.put("AA", 123);
map.put("EE", 223);
map.put("FFF", 423);
//Set keySet();返回所有key所构成对的Set集合
Set set = map.keySet();
System.out.println("Set keySet();返回所有key所构成对的Set集合: " + set);
//Collection values();返回所有value所构成的Collection集合
Collection values = map.values();
System.out.println("Collection values();返回所有value所构成的Collection集合: " + values);
//Set entrySet();返回所有key-value对构成的Set集合
Set set1 = map.entrySet();
System.out.println("Set entrySet();返回所有key-value对构成的Set集合: " + set1);
}
}
控制台结果
put(Object key,Object value);添加操作: {AA=123, BB=23, DD=13}
put(指定key,Object value);修改指定Key上面的value值: {AA=456, BB=23, DD=13}
putAll(Map m);将m中所有的key-value存放到当前对象map中: {AA=456, BB=23, DD=13, EE=789, RR=1011}
Object remove(key);移除指定Key的key-value对,并返回value; {AA=456, BB=23, DD=13, RR=1011}
返回value值:789
清空当前map中所有的数据 void clear(); {}
Object get(Object key);获取指定key对应的value: 156
boolean containsKey(Object key);是否包含指定的key: true
boolean containsValue(Object value);是否包含指定的value: true
int size();返回map中key-value对的个数: 4
boolean isEmpty();判断当前map是否为空: false
boolean equals(Object obj);判断当前map和参数对象obj是否相等: true
Set keySet();返回所有key所构成对的Set集合: [AA, EE, FFF]
Collection values();返回所有value所构成的Collection集合: [123, 223, 423]
Set entrySet();返回所有key-value对构成的Set集合: [AA=123, EE=223, FFF=423]