接口 Map集合:
1.Map集合和collection没有关系
2.Map集合以key和value这种键值对的形式存储元素
3.key和value存放的都是java对象的内存地址
4.所有Map集合的key都是无序不可重复的 Map集合的key和Set集合存储元素的特点相同
Map里的常用方法:
Map中的常用方法:
void clear()清除所有内容
boolean containsKey()判断k是否存在集合中
boolean containsValue() 判断v是否存在集合中
get(key)根据key获取value
isEmpty()判断集合元素个数是否为0
put (k,v)存放
int size()获取所有键值对的个数;
Set keySet()获取Map集合中所有的key
remove (key)通过key删除键值对
Collection values() 获取Map集合中的所有的value,返回一个Collection
Set<Map.entry<K,V>>entrySet()将Map集合转换成一个Set集合
假设现在有一个Map集合
map1的对象
key value
1 qq
2 ww
3 zhao
4 wang
Set set=map1.entrySet();
set集合对象
1=qq
2=ww
3=zhao
4=wang
注意:Map集合通过entrySet()方法转换成Set集合Set集合中元素类型就是Map.entry<k,v>
Map.entry和String一样是个类型的名字只不过Map.entry是个静态内部类shiMap中的静态内部类
遍历Map集合的方式
1.1:
获取key的Set集合
迭代器遍历获取
1.2:
foreach循环
2.:
Set<Map.entry<K,V>>entrySet()
把Map集合全部变成你Set集合;集合类型是Map.entry
如下↓
Map<Integer,String> map=new HashMap();
map.put(1, “小肥1号”);
map.put(2, “小肥2号”);
map.put(3, “小肥3号”);
map.put(4, “小肥4号”);
/**
- Set<Map.entry<K,V>>entrySet()
*这个方法把Map集合变成一个set集合
*Set集合中的元素类型是Map.entry;
*/
Set<Map.Entry<Integer, String>> set = map.entrySet();
//遍历set集合,每一次取出一个Node
//迭代器获取值
Iterator<Entry<Integer, String>> it = set.iterator();
//循环获取内容
while(it.hasNext()){
Entry<Integer, String> next = it.next();
System.out.println(next.getValue()+"="+next.getKey());