天天看点

Java中Map和Set

文章目录

    • Map和Set
    • Map 的使用
    • Map.Entry

Map和Set

一般把搜索的数据称为关键字(Key),和关键字对应的称为值(Value),所以模型会有两种:

  1. 纯 key 模型,即 Set 要解决的事情,只需要判断关键字在不在集合中即可,没有关联的 value;
  2. Key-Value 模型,即 Map 要解决的事情,需要根据指定 Key 找到关联的 Value。

Map 的使用

Map的官方文档

Java中Map和Set

Map.Entry<K, V>

Map 中定义的 K 类型的 key 和 V 类型的 value 的映射关系的类。

Java中Map和Set

Map常见方法

Java中Map和Set

Map的方法使用

import java.util.HashMap;
import java.util.Map;

public class TestDemo {
    public static void main(String[] args) {
        Map<Integer, String> map = new HashMap<>();
        map.put(1, "hello");
       // key重复
        map.put(1, "Hello");
        map.put(3, "Java");
        map.put(2, "ABX");
        System.out.println(map);
        // 根据key取得value
        System.out.println(map.get(2));
        // 查找不到返回null
        System.out.println(map.get(99));
         // 打印所有的 key
        for (Integer key : map.keySet()) {
            System.out.println(key);
        }
        // 打印所有的 value
        for (String value : map.values()) {
            System.out.println(value);
        }
       // 按 key-value 映射关系打印
        for (Map.Entry<Integer, String> entry : map.entrySet()) {
            System.out.println(entry.getKey() + " = " + entry.getValue());
        }
    }
}
           

Set 的使用

Set的官方文档

Set 常见方法

Java中Map和Set

Set的方法使用

import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;

public class TestDemo {
    public static void main(String[] args) {
        Set<String> set = new HashSet<>();
        set.add("Hello");
        // 重复元素
        set.add("Hello");
        set.add("Abx");
        set.add("Hello");
        set.add("Java");
        int a[] = {5, 3, 4, 1, 7, 8, 2, 6, 0, 9};
        System.out.println(set);
        Iterator<String> it = set.iterator();
        while (it.hasNext()) {
            System.out.println(it.next());
        }
    }
}