Java开发中map的使用是很多的。map基本信息就不说了,提下map中的key是封装set,这就表明它是不可重复的。看下jdk源码中HashMap中的的key封装。
public Set<K> keySet() {
Set<K> ks = keySet;
return (ks != null ? ks : (keySet = new KeySet()));
}
简单构造一个map,同时put几个值。如下:
Map<Integer,Integer> map = new HashMap<>();
map.put(1, 1);
map.put(2, 2);
map.put(3, 3);
map.put(4, 4);
map.put(5, 5);
map.put(6, 6);
map.put(7, 7);
map.put(8, 8);
如何map中的值?
第一种方式:
这种方式要事先知道key的值,开发过程中要约定好,put时候key是什么,按照这个key来去就可以了。比如我去上面map中key是5的值。
map.get(5);
上面这种方式很简单,也是用的最多的。
第二种方式:
这种方式适合我不知道key是什么时候,要先取到key,在根据key取value。看下面的代码
Set<Integer> keys=map.keySet();
for (Integer integer : keys) {
System.out.println(integer+"-"+map.get(integer));
}
也可以直接去value,如下
for (Integer integer : map.values()) {
System.out.println(integer);
}
第三种方式:
这种方式,当map中的数据量很大时候,相对于前面的方式,效果更好。看下代码
for (Entry<Integer, Integer> entry : map.entrySet()) {
System.out.println(entry.getKey()+"-"+entry.getValue());
}
这种方式 可以取到key 和value。
更多信息,建议阅读jdk源码。