在现实生活中,我们进场要存储某些信息,例如,我们使用的微信,一个手机号只能对应一个微信账户,一张银行卡只能是一个人名下的,这就是一张成对存储的关系。Map就是用来存储“键(key) ----- 值(value)对”的。其中存储的“键值对”是通过键来标识的,所有键不可重复,其中的对象都可以是自定义实现的。Map接口的实现类有HashMap,TressMap,HashTable等。
Map接口的中常用的方法:
Object put(Object key,Object value) : 存放键值对
Object get(Object key) : 通过键对象查找得到值对象
Object remove(Object key): 删除键对象对应的值对象
boolean containsKey(Object key) :Map容器中是否包含键对象对应的键值对
boolean containsValue(Object value) : Map容器中是否包含值对象对应的键值对
int size() : 包含键值对的数量
boolean isEmpty() : Map是否为空
void putAll(Map t) : 将t的所有键值对存放到本map对象
void clear() : 清空本map对象所有的键值对
import java.util.HashMap; import java.util.Iterator; import java.util.Map; public class HashMapDemo { public static void main(String[] args) { Map<String,String> hashMap = new HashMap<>(); //插入元素 hashMap.put("张三","zhangsan"); hashMap.put("李四","lisi"); System.out.println(hashMap); System.out.println(hashMap.isEmpty()); hashMap.put("李四","lisi1"); //键值对遍历 Iterator<Map.Entry<String, String>> iterator = hashMap.entrySet().iterator(); while (iterator.hasNext()){ Map.Entry<String, String> next = iterator.next(); String key = next.getKey(); String value = next.getValue(); System.out.print(key+":"+value+" "); } System.out.println(); //以值遍历 Iterator<String> iterator1 = hashMap.values().iterator(); while (iterator1.hasNext()){ System.out.print(iterator1.next()+" "); } System.out.println(); //以键遍历 Iterator<String> iterator2 = hashMap.keySet().iterator(); while (iterator2.hasNext()){ System.out.print(iterator2.next()+" "); } System.out.println(); } }
Iterator 的三种遍历方法:以键值对遍历,以值遍历,以键遍历。 当put的key键相同时,后面会覆盖前面的。
结果如图:
原文:https://www.cnblogs.com/128-cdy/p/12291574.html