Map接口中定义了很多方法,常用的如下:
public V put(K key, V value) : 把指定的键与指定的值添加到Map集合中。
public V remove(Object key) : 把指定的键 所对应的键值对元素 在Map集合中删除,返回被删除元素的
值。
public V get(Object key) 根据指定的键,在Map集合中获取对应的值。
public Set<K> keySet() : 获取Map集合中所有的键,存储到Set集合中。
public Set<Map.Entry<K,V>> entrySet() : 获取到Map集合中所有的键值对对象的集合(Set集合)。
public boolean containKey(Object key) :判断该集合中是否有此键。
方法作用:获取map集合类的大小(map集合包含键值对关系映射的数量)
示例:
public static void main(String[] args) { //new出map实例 Map map = new HashMap(); //向map实例中添加键值 map.put("1","飞机"); map.put("2","坦克"); map.put("3","大炮"); //返回值为int类型 int size = map.size(); //输出size System.out.println("map实例中的键值个数为:"+size); }
方法作用:获取map集合类所有的值(value)
示例:
public static void main(String[] args) { //new出map实例 Map map = new HashMap(); //向map实例中添加键值 map.put("1","飞机"); map.put("2","坦克"); map.put("3","大炮"); //得到map实例中所有的value,返回值类型为Collection Collection values = map.values(); //输出values System.out.println("map实例中所有的值(value)为"+values);
方法作用:获取map集合所有的键(key)
示例
public static void main(String[] args) { //new出map实例 Map map = new HashMap(); //向map实例中添加键值 map.put("1","飞机"); map.put("2","坦克"); map.put("3","大炮"); //获取map实例中所有的键(key),返回值类型为Set Set set = map.keySet(); //输出set System.out.println("map实例中所有的key为:"+set);
方法作用:通过键(key)的名字获取和键相匹配的值(方法映射),如果key或者value为空,则返回null;
示例:
public static void main(String[] args) { //new出map实例 Map map = new HashMap(); //向map实例中添加键值 map.put("1","飞机"); map.put("2","坦克"); map.put("3","大炮"); //通过key获取value Object o = map.get("1"); //输出o System.out.println("得到的value为:"+o);
方法作用:根据key移除map中的与该key对应的value
示例:
public static void main(String[] args) { //new出map实例 Map map = new HashMap(); //向map实例中添加了3个键值 map.put("1","飞机"); map.put("2","坦克"); map.put("3","大炮"); //移除key为1的键值 map.remove("1"); //输出map的大小 System.out.println("移除后的map大小为:"+map.size());//此处输出为2
方法作用:清空Map集合中所有的键值
示例:
public static void main(String[] args) { //new出map实例 Map map = new HashMap(); //向map实例中添加了3个键值 map.put("1","飞机"); map.put("2","坦克"); map.put("3","大炮"); //清空map的键值 map.clear(); //输出map的大小 System.out.println("清空后的map大小为:"+map.size());//此处输出为0
作用:Entry是Map集合中的一个内部接口,用于封装Map集合中的一组键值(key和value)
jdk1.5新特性之前的写法为Map.entry<k,v>,jdk1.5的新特性静态导入的导包方式写法为Entry,两种写法达到的效果一致,并没有什么不同。
前者为父类引用指向子类对象,后者是直接调用子类对象。
示例:
public static void main(String[] args) { //获取Map内部接口Entry Entry entry; //new出map实例 Map map = new HashMap(); //向map实例中添加键值 map.put("1","飞机"); map.put("2","坦克"); map.put("3","大炮"); //获得map中键值对的集合 Set set = map.entrySet(); //得到集合的迭代器 Iterator iterator = set.iterator(); //遍历迭代器 while (iterator.hasNext()){ //遍历出的键值放进entry集合里 entry=(Map.Entry) iterator.next(); //得到entry的key String key = (String) entry.getKey(); //得到entry的value String value = (String) entry.getValue(); //输出key和value System.out.println("得到的key为"+key); System.out.println("得到的value为"+value); }
方法作用:把一个map集合合并到另一个map集合里
示例:
public static void main(String[] args) { //new出map1实例 Map map1 = new HashMap(); //向map1实例中添加了3个键值 map1.put("1","飞机"); map1.put("2","坦克"); map1.put("3","大炮"); //输出map1的大小 System.out.println("map1的大小为:"+map1.size());//此处输出为3 //new出map2实例 Map map2 = new HashMap(); //向map2实例中添加了2个键值 map2.put("4","苹果"); map2.put("5","香蕉"); //输出map2的大小 System.out.println("map2的大小为:"+map2.size());//此处输出为2 //把map2合并到map1里 map1.putAll(map2);//合并时如果map2的key与map1的key有重复的,则map2的键值覆盖与map1重复的键值 System.out.println("合并后的map1大小为:"+map1.size());//此处输出为5
public static void main(String[] args) { Map<String,String> map = new HashMap<>(); map.put("1","飞机"); map.put("2","坦克"); map.put("3","大炮"); map.forEach((k,v)-> { System.out.println(k+":"+v); });
原文:https://www.cnblogs.com/zeus-luna/p/12673036.html