当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Java Collections newSetFromMap()用法及代码示例


java.util.Collections类的newSetFromMap()方法用于返回由指定映射支持的集合。结果集显示的排序,并发性和性能特征与支持映射相同。本质上,此工厂方法提供与任何Map实现相对应的Set实现。不需要在已经具有相应Set实现的Map实现(例如HashMap或TreeMap)上使用此方法。

用法:

public static  Set newSetFromMap(Map map)

参数:此方法将支持映射作为参数


返回值:此方法返回Map支持的集合

异常:如果map不为空,则此方法引发IllegalArgumentException。

以下示例说明了newSetFromMap()方法

示例1:

// Java program to demonstrate 
// newSetFromMap() method 
  
import java.util.*; 
  
public class GFG1 { 
    public static void main(String[] argv) 
        throws Exception 
    { 
  
        try { 
  
            // creating object of Map<String, Boolean> 
            Map<String, Boolean> 
                map = new WeakHashMap<String, Boolean>(); 
  
            // creating object of LinkedList 
            Set<String> set = Collections.newSetFromMap(map); 
  
            // add values in set 
            set.add("A"); 
            set.add("B"); 
            set.add("C"); 
            set.add("D"); 
  
            // set and map values are 
            System.out.println("Map is: " + map); 
            System.out.println("Set from Map is: " + set); 
        } 
  
        catch (IllegalArgumentException e) { 
            System.out.println("Exception thrown : " + e); 
        } 
    } 
}
输出:
Map is: {C=true, B=true, A=true, D=true}
Set from Map is: [C, B, A, D]

示例2:为IllegalArgumentException

// Java program to demonstrate 
// newSetFromMap() method 
// for IllegalArgumentException 
  
import java.util.*; 
<div class = 'outputDiv'> 
<b>Output:</b> 
<pre> 
Set is: [C, B, A, D] 
Map is: {C=true, B=true, A=true, D=true} 
</pre> 
</div> 
  
public class GFG1 { 
    public static void main(String[] argv) throws Exception 
    { 
        try { 
  
            // creating object of Map<String, Boolean> 
            Map<String, Boolean> 
                map = new WeakHashMap<String, Boolean>(); 
  
            // putting value in map 
            map.put("1", true); 
  
            // creating object of LinkedList 
            Set<String> set = Collections.newSetFromMap(map); 
  
            // add values in set 
            set.add("A"); 
            set.add("B"); 
            set.add("C"); 
            set.add("D"); 
  
            // set and map values are 
            System.out.println("Map is: " + map); 
            System.out.println("Set from Map is: " + set); 
        } 
  
        catch (IllegalArgumentException e) { 
            System.out.println("Exception thrown : " + e); 
        } 
    } 
}
输出:
Exception thrown : java.lang.IllegalArgumentException: Map is non-empty


相关用法


注:本文由纯净天空筛选整理自RohitPrasad3大神的英文原创作品 Collections newSetFromMap() method in Java with Examples。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。