package com.fish.map; import java.util.HashMap; import java.util.Map; /* 在现实生活中有些数据是以映射关系存在的,也就是成对存在的,比如: 民政局 : 键 值 老公 老婆 *** 人 一把要锁 锁 双列集合: -------------| Map 如果是实现了Map接口的集合类,具备的特点: 存储的数据都是以键值对的形式存在的,键不可重复,值可以重复。 ----------------| HashMap ----------------| TreeMap ----------------| Hashtable Map接口的方法: 添加: put(K key, V value) putAll(Map<? extends K,? extends V> m) 删除 remove(Object key) clear() 获取: get(Object key) size() 判断: containsKey(Object key) containsValue(Object value) isEmpty() */ public class Demo2 { public static void main(String[] args) { Map<String,String> map = new HashMap<String, String>(); //添加方法 map.put("杨过","小龙女"); map.put("郭靖","黄蓉"); map.put("张无忌","周芷若"); /* //添加 System.out.println("返回值:"+map.put("张无忌","赵敏")); //如果之前没有存在该键,那么返回的是null,如果之前就已经存在该键了,那么就返回该键之前对应的值。并将新的value添加进map中 Map<String,String> map2 = new HashMap<String, String>(); map2.put("令狐冲", "任盈盈"); map2.put("段誉", "王语嫣");; map.putAll(map2); // 把map2的元素添加到map集合中。 */ /* //删除 System.out.println("删除的数据是:"+map.remove("郭靖")) ; //根据键删除一条map中的数据,返回的是该键对应的值。 map.clear(); //清空集合中的所有数据。 */ /* 获取 System.out.println("根据指定 的键获取对应的值:"+ map.get("段誉")); System.out.println("获取map集合键值对个数:"+map.size()); //判断 System.out.println("判断map集合是否包含指定的键:"+ map.containsKey("张无忌")); System.out.println("判断map集合中是否包含指定 的值:"+ map.containsValue("周芷若")); map.clear(); map.put(null,null) //null不是Empty System.out.println("判断map集合是否为空元素:"+ map.isEmpty()); */ System.out.println("集合的元素:"+ map); } }
package com.fish.map; import java.util.Collection; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Map.Entry; import java.util.Set; /* 迭代: keySet() values() entrySet() */ public class Demo3 { public static void main(String[] args) { Map<String,String> map = new HashMap<String, String>(); //添加方法 map.put("杨过","小龙女"); map.put("郭靖","黄蓉"); map.put("张无忌","周芷若"); map.put("段誉", "王语嫣");; /* //map集合中遍历方式一: 使用keySet方法进行遍历 缺点: keySet方法只是返回了所有的键,没有值。 Set<String> keys = map.keySet(); //keySet() 把Map集合中的所有键都保存到一个Set类型 的集合对象中返回。 Iterator<String> it = keys.iterator(); while(it.hasNext()){ String key = it.next(); System.out.println("键:"+ key+" 值:"+ map.get(key)); } //map集合的遍历方式二: 使用values方法进行 遍历。 缺点: values方法只能返回所有 的值,没有键。 Collection<String> c = map.values(); //values() 把所有的值存储到一个Collection集合中返回。 Iterator<String> it = c.iterator(); while(it.hasNext()){ System.out.println("值:"+ it.next()); } */ //map集合的遍历方式三: entrySet方法遍历。 Set<Map.Entry<String,String>> entrys = map.entrySet(); Iterator<Map.Entry<String,String>> it = entrys.iterator(); while(it.hasNext()){ Map.Entry<String,String> entry = it.next(); System.out.println("键:"+ entry.getKey()+" 值:"+ entry.getValue()); } } }
package com.fish.map; import java.util.ArrayList; class Map{ //静态内部类 static class Entry<K ,V>{ K key; V value; } } public class Demo4 { public static void main(String[] args) { } }
时间: 2024-12-25 22:10:34