Map的常用方法及其遍历方式

早过忘川 提交于 2019-11-30 09:40:30

Map存储元素使用put方法,Collection使用add方法

常用方法

1、添加:

    1、V put(K key, V value)    (可以相同的key值,但是添加的value值会覆

盖前面的,返回值是前一个,如果没有就返回null)                                          

    2、putAll(Map<? extends K,? extends V> m)  从指定映射中将所有映射关

系复制到此映射中(可选操作)。

2、删除

    1、remove()    删除关联对象,指定key对象

    2、clear()     清空集合对象

3、获取

     1:value get(key); 可以用于判断键是否存在的情况。当指定的键不存在的时候,返

回的是null。

3、判断:

    1、boolean isEmpty()   长度为0返回true否则false

    2、boolean containsKey(Object key)  判断集合中是否包含指定的key

 3、boolean containsValue(Object value)  判断集合中是否包含指定的value

 4、长度:Int size()

 

 

map有这几种遍历方式

import java.util.*;
 
public class Test{
     public static void main(String[] args) {
      Map<String, String> map = new HashMap<String, String>();
      map.put("1", "value1");
      map.put("2", "value2");
      map.put("3", "value3");
      
      //第一种:普遍使用,二次取值
      System.out.println("通过Map.keySet将map转化为Set集合,使用get方法,遍历key和value:");
      for (String key : map.keySet()) {    /*keySet方法获得key,get方法获得value*/
       System.out.println("key= "+ key + " and value= " + map.get(key));
      }
      
      //第二种
      System.out.println("通过Map.entrySet将map转化为Set集合,使用iterator遍历key和value:");
      Iterator<Map.Entry<String, String>> it = map.entrySet().iterator();    /*面对对象的思想将map的键值对应关系打包成一个对象Map.entry,转化为Set集合,再将其存入Iterator容器进行迭代*/
      while (it.hasNext()) {
       Map.Entry<String, String> entry = it.next();
       System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
      }
      
      //第三种:推荐,尤其是容量大时
      System.out.println("通过Map.entrySet,使用getValue和getKey方法遍历key和value");
      for (Map.Entry<String, String> entry : map.entrySet()) {    /*entrySet方法获取存放Map.Entry<String, String>对象的Set集合*/     System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue()); }     //第四种 System.out.println("通过Map.values()遍历所有的value,但不能遍历key");     for (String v : map.values()) { System.out.println("value= " + v); } } }

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!