Map的方法和遍历

表示 key 到 value 的一种对应关系。key不允许重复,Value无要求。

Map 没有继承Collection,和Collection是同等级的

没有继承Collection,那就不能使用迭代器的方式遍历。

遍历方式四种如下:(后边代码一键粘贴式)

Map<String, Integer> map = new TreeMap<>();
// map 里放入了一些内容

// Map.Entry 语法   Map 下的内部接口 Entry
// 含义是一组键值对(key-value pair),又称为记录(entry)
// <String, Integer>: 键值对中的 key 的类型是 String,value 的类型是 Integer
// map.entrySet() 得到 Set<Map.Entry<String, Integer>>
// 即 map 中所有的键值对
for (Map.Entry<String, Integer> entry : map.entrySet()) {
    String key = entry.getKey();
    Integer value = entry.getValue();
}



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遍历key和value:");
  for (String key : map.keySet()) {
   System.out.println("key= "+ key + " and value= " + map.get(key));
  }
  
  //第二种
  System.out.println("通过Map.entrySet使用iterator遍历key和value:");
  Iterator<Map.Entry<String, String>> it = map.entrySet().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遍历key和value");
  for (Map.Entry<String, String> entry : map.entrySet()) {
   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);
  }
 }

Map中的方法:

put(K key,V value)

不存在则插入,返回null;

存在则更新,返回原来的value

get(K key)

根据key,找到对应的value,找不到返回null

getOrDefault(K key,V defaultValue)

根据key找value,找不到返回defaultValue

Set<K> keySet()

返回所有的key

Collection<V> values()

返回所有的value

Set< Map.Entry<K,V> > entrySet()

返回所有的key-value键值对

int size()

boolean isEmpty()

void clear()

boolean remove(K key)

boolean remove(K key,V value)

boolean containsKey(K key)

boolean containsValue(V value)

Map.Entry<K,V>的

常见方法

  • Map.Entry<K,V> 重命名

map下的entry方法。

Map.Entry是Map中的一个接口,他的用途是表示一个映射项(里边有Key和Value),就是表示一个键值对。

K getKey()

获取键值对中的key

V getValue()

获取键值对中得到value

V setValue(V value)

更新键值对中的value并返回旧的value

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值