Java中Map容器
Map容器中的主要两个是HashMap与TreeMap类
导航
1.HashMap
2.TreeMap
————————————————————————————————————————
1.HashMap
使用的是哈希算法存取键值对。
其中键为key,值为value
1.创建实例
HashMap users = new HashMap();
HashMap< String,int> users = new HashMap();
2.存入类中
users.put(字符串,整型) //这里存入其中的只是上面1的第二种
3.判断是否包含指定的key
users.containskey(字符串) //返回的是true,false
4.键和值都可以作为一个集合
键:users.keyset()
值:users.values()
注释:可以使用for each来遍历,但是JDK版本需要1.5之后
5.获取迭代器(键值对 对象)中的键和值
首先需要迭代器 Iterator<Entry<String, String>> entries = map.entrySet().iterator();
int key=entries.getkey()
int value=entries.getvalue()
拓展:其中的Entry是Map集合中的键值对 对象 通过键值对可以访问这个键值对中的key或者value
四种遍历
1.在 for 循环中使用 entries 实现 Map 的遍历(最常见和最常用的)
for (Map.Entry<String, String> entry : map.entrySet()) {
String mapKey = entry.getKey();
String mapValue = entry.getValue();
System.out.println(mapKey + ":" + mapValue);
}
2.使用 for-each 循环遍历 key 或者 values,一般适用于只需要 Map 中的 key 或者 value 时使用。性能上比 entrySet 较好。
// 打印键集合
for (String key : map.keySet()) {
System.out.println(key);
}
// 打印值集合
for (String value : map.values()) {
System.out.println(value);
}
3.使用迭代器(Iterator)遍历
Iterator<Entry<String, String>> entries = map.entrySet().iterator();
while (entries.hasNext()) {
Entry<String, String> entry = entries.next();
String key = entry.getKey();
String value = entry.getValue();
System.out.println(key + ":" + value);
}
4.通过键找值遍历,这种方式的效率比较低,因为本身从键取值是耗时的操作。
for(String key : map.keySet()){
String value = map.get(key);
System.out.println(key+":"+value);
}
————————————————————————————————————————
2.TreeMap
可以对键对象进行排序
其余的大致操作与HashMap相似可以看上方
可以加qq群:891507813一起讨论交流