欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java中Map容器

程序员文章站 2022-06-16 23:37:54
...
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一起讨论交流
相关标签: Java