📜  Java中的集合 newSetFromMap() 方法和示例(1)

📅  最后修改于: 2023-12-03 15:02:03.722000             🧑  作者: Mango

Java中的集合 newSetFromMap() 方法和示例

在Java的集合框架中,提供了一种特殊的集合类型——Set,它能够存储不重复的元素。而Java中的newSetFromMap()方法则是用于创建Set集合的一种工具类方法,它能够将Map实例转换为Set实例。

newSetFromMap()方法的定义

newSetFromMap()方法位于Java标准库的java.util.Collections类中,其定义为:

public static <E> Set<E> newSetFromMap(Map<E,Boolean> map)

其中,map是我们要转换为Set的原始Map实例。注意,map中的value类型必须为Boolean类型,并且所有的value都应该为true,这是由于Set集合中只存储key,而不关心value。

newSetFromMap()方法的示例

下面我们来看一个使用newSetFromMap()方法创建Set集合的示例:

import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;

public class Main {
    public static void main(String[] args) {
        // 创建HashMap实例
        Map<String,Boolean> map = new HashMap<>();

        // 往map中存储元素
        map.put("apple", true);
        map.put("banana", true);
        map.put("orange", true);

        // 使用newSetFromMap()方法将map转换为Set
        Set<String> set = Collections.newSetFromMap(map);

        // 输出Set集合中的元素
        System.out.println(set); // [banana, orange, apple]
    }
}

以上示例中,我们创建了一个HashMap实例并往其中存储了三个元素。然后,我们使用newSetFromMap()方法将该HashMap实例转换为了Set集合。最后,我们输出Set集合中的元素,可以发现输出为[banana, orange, apple],即Set集合中的元素已经去重。

总结

newSetFromMap()方法是一种创建Set集合的特殊方法,通过该方法可以将Map类型转换为Set类型,实现了去重的目的。但需要注意,map中的value类型必须为Boolean类型,并且所有的value都应该为true。