Java集合类---遍历Map的两种方法(map.entrySet)

时间:2022-03-17 19:37:12

Java集合类Map常用方法的研究与使用

Map常用方法(重点方法数字符号标注)

添加

 V put(K key, V value)
获取

① V get(Object key) 

          返回指定键所映射的值;如果此映射不包含该键的映射关系,则返回 null

 int size() 
返回此映射中的键-值映射关系数。
②Collection<V> values() 

返回此映射中包含的值的 Collection 视图。 

判断

 boolean containsKey(Object key) 

如果此映射包含指定键的映射关系,则返回 true

boolean containsValue(Object value) 

如果此映射将一个或多个键映射到指定值,则返回 true。 

  移除

 V remove(Object key)   

  通过Set集合操作map

③ Set<K> keySet() 

  返回此映射中包含的键的 Set 视图。

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

返回携带有映射关系键值对 -- 对象的Set视图

import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
import java.util.Map.Entry;

public class Test4 {
//java集合类Map常用方法的研究与使用
public static void main(String[] args) {
//values和remove的使用
Map<Integer,String> map=new HashMap<Integer,String>();
map.put(1,"xiaoming");
map.put(2,"zhangsan");
map.put(3,"lilei");
Collection<String> values = map.values();
for(String name:values){
System.out.println("map中的键值有"+name);
}
String remove = map.remove(1);
System.out.println("删除的键为"+remove+"---map此时的大小为"+map.size());
//------重点-------//
//由于map中没有提供对map集合遍历的方法,提供了通过set集合容器进行map遍历的方法
//通过①③④对方法的研究遍历map的方法有以下两种

//第一种:获取键的集合,依据键取值---方法③①组合
Set<Integer> keySet = map.keySet();
System.out.println("通过③①方法获取map中的键值对有");
for (Integer key : keySet) {
String value=map.get(key);
System.out.println(key+"="+value);
}
//第二种:获取键值对容器集合对象方法④
Set<Map.Entry<Integer, String>> entrySet = map.entrySet();
//遍历
System.out.println("通过④方法键值对对象获取map中的键值对有");
for (Entry<Integer, String> entry : entrySet) {
System.out.println(entry.getKey()+"="+entry.getValue());
}
}
}

打印输出:

map中的键值有xiaoming

map中的键值有zhangsan

map中的键值有lilei

删除的键为xiaoming---map此时的大小为2

map中的键值对有

2=zhangsan

3=lilei

map中的键值对有

2=zhangsan

3=lilei