基础代码:
public class Demo01 { public static void main(String[] args) { //HashMap 存储自定义类型键值 HashMap<String, String> map=new HashMap<String, String>(); //存值 map.put("张三", "123"); map.put("小红", "123"); map.put("张三", "456"); //删除 //map.remove("张三"); //取值 //System.out.println(map.get("张三")); //遍历 //1.keySet+增强for 遍历 //获取所有key所在的Set集合 Set<String> set =map.keySet(); for (String key : set) { System.out.println(map.get(key)); } //2.keySet+iterator 遍历 Iterator<String> it=set.iterator(); while (it.hasNext()) { String k=it.next(); String value=map.get(k); //打印key+value System.out.println(k+" "+value); } } }
遍历:
public class Demo02 { public static void main(String[] args) { //Entry<k, v> HashMap<Integer, String> map=new HashMap<Integer,String>(); map.put(1, "邢昊天"); map.put(2, "姜泽坤"); map.put(3, "刘小雨"); //遍历 //获取所有entry对象所在的set集合 Set<Map.Entry<Integer, String>> set =map.entrySet(); for (Map.Entry<Integer, String> entry : set) { int key=entry.getKey(); String value=entry.getValue(); System.out.println(key+" "+value); } //获取set集合的迭代器对象 Iterator<Map.Entry<Integer, String>> it=set.iterator(); while (it.hasNext()) { //得到每一个entry对象 Map.Entry<Integer, String> entry = it.next(); //从entry对象中获得key int key=entry.getKey(); //从entry对象中获取value String value=entry.getValue(); System.out.println(key+" "+value); } } }
自定义类型:
public class Demo03 { public static void main(String[] args) { HashMap<Person, String> map=new HashMap<Person,String>(); map.put(new Person("小红", 18),"java1018"); map.put(new Person("小绿", 19),"java1018"); map.put(new Person("小紫", 20),"java1217"); map.put(new Person("小红", 18),"java1217"); //遍历 Set<Person> set=map.keySet(); for (Person p : set) { System.out.println(p+" "+map.get(p)); } } }
.