import org.junit.Test;
import java.util.*;
/**
* Map中常用方法
* map中数据是无序的,但不是随机的,一旦插入,就有了先后顺序
*/
public class HashMapTest {
/**
* 增删改查方法
*/
@Test
public void test() {
//插入一条数据,key相同就用新的value替换旧的value
HashMap hashMap = new HashMap();
hashMap.put("name", "hero");
hashMap.put("age", 18);
HashMap hashMap2 = new HashMap();
hashMap2.put(1, 2);
hashMap2.put(3, 4);
//插入多条数据
hashMap.putAll(hashMap2);
System.out.println(hashMap);
//通过key移除一个数据
Object remove = hashMap.remove(1);
System.out.println(remove);//返回移除的value
System.out.println(hashMap);
//查找 key为3的value
Object o = hashMap.get(3);
System.out.println(o);
//是否存在key
boolean b1 = hashMap.containsKey(1);
System.out.println(b1);
//是否存在value
boolean b = hashMap.containsValue(2);
System.out.println(b1);
//清空map,不是将map设置为null, 而是清空每个值
hashMap.clear();
System.out.println(hashMap);
}
/**
* map的遍历
*/
@Test
public void test2() {
HashMap hashMap = new HashMap();
hashMap.put("name", "hero");
hashMap.put("age", 18);
hashMap.put("birth", "2022-01-01");
//遍历key
Set set = hashMap.keySet();
Iterator iterator = set.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
//遍历value
Collection values = hashMap.values();
for (Object o : values) {
System.out.println(o);
}
//遍历键值对 k->v Entry
Set set1 = hashMap.entrySet();
Iterator iterator1 = set1.iterator();
while (iterator1.hasNext()) {
Object next = iterator1.next();
Map.Entry e = (Map.Entry) next;//强转成entry类型
System.out.println(e.getKey() + "=====" + e.getValue());
}
}
}
HashMap常用方法总结
最新推荐文章于 2022-06-16 23:34:50 发布