Java Map的一点知识点

来源:互联网 发布:chrome 无法调用 java 编辑:程序博客网 时间:2024/06/05 14:13

Java Map

Map是java中的接口,Map.Entry是Map的一个内部接口。

Map提供了一些常用方法,如keySet()、entrySet()等方法。

keySet()方法返回值是Map中key值的集合;

entrySet()的返回值也是返回一个Set集合,此集合的类型为Map.Entry。



Map.Entry是Map声明的一个内部接口,此接口为泛型,定义为Entry<K,V>。

它表示Map中的一个实体(一个key-value对)。

接口中有getKey(),getValue方法。


因为Map这个类没有继承Iterable接口所以不能直接通过map.iterator来遍历

(list,set就是实现了这个接口,所以可以直接这样遍历)

所以就只能先转化为set类型,用entrySet()方法,

其中set中的每一个元素值就是map中的一个键值对,也就是Map.Entry<K,V>了,然后就可以遍历了。
基本上 就是遍历map的时候才用得着它吧。


由以上可以得出,遍历Map的常用方法:


1.  

Map map = new HashMap();

Irerator iterator = map.entrySet().iterator();

while(iterator.hasNext()) {

Map.Entry entry = iterator.next();

Object key = entry.getKey();

}



2.

Map map = new HashMap(); 

Set  keySet= map.keySet();

Irerator iterator = keySet.iterator;

while(iterator.hasNext()) {

Object key = iterator.next();

Object value = map.get(key);

}

另外,还有一种遍历方法是,单纯的遍历value值,Map有一个values方法,返回的是value的Collection集合。

通过遍历collection也可以遍历value,如


Map map = new HashMap();
Collection c = map.values();

Iterator iterator = c.iterator();

while(iterator.hasNext()) {

Object value = iterator.next(); 

}


map中存储的是键值对,也就是说通过set方法进行参数和值的存储,之后通过get“键”的形式进行值的读取。

举例:

Map  map = new Hashmap();//创建一个map
map.put("key","value");//给map赋值
String  vlaues = map.get("key");//获取map中键值为“key”的值
system.out.println(vlaues );//输出结果
以上代码的运行结果:value;
 
0 0
原创粉丝点击