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


Java Guava Sets intersection()用法及代码示例


Guava 的Sets.intersection()返回两个集合的交集的不可更改的视图。返回的集合包含两个后备集合都包含的所有元素。返回的集合的迭代顺序与set1的迭代顺序匹配。

用法:

public static <E> 
    Sets.SetView<E> 
        intersection(Set<E> set1, Set<?> set2)

返回值:此方法返回两个集合的交集的不可修改的视图。


以下示例说明了Sets相交方法的用法方式:

范例1:

// Java code to show implementation 
// of Guava's Sets.intersection() method 
  
import com.google.common.collect.Sets; 
import java.util.Set; 
  
class GFG { 
  
    // Driver's code 
    public static void main(String[] args) 
    { 
        // Creating first set 
        Set<Integer> 
            set1 = Sets.newHashSet(10, 20, 30, 40, 50); 
  
        // Creating second set 
        Set<Integer> 
            set2 = Sets.newHashSet(30, 50, 70, 90); 
  
        // Using Guava's Sets.intersection() method 
        Set<Integer> 
            answer = Sets.intersection(set1, set2); 
  
        // Displaying the intersection of set1 and set2 
        System.out.println("Set 1:"
                           + set1); 
        System.out.println("Set 2:"
                           + set2); 
        System.out.println("Set 1 intersection Set 2:"
                           + answer); 
    } 
}
输出:
Set 1:[40, 10, 50, 20, 30]
Set 2:[50, 90, 30, 70]
Set 1 intersection Set 2:[50, 30]

范例2:

// Java code to show implementation 
// of Guava's Sets.intersection() method 
  
import com.google.common.collect.Sets; 
import java.util.Set; 
  
class GFG { 
  
    // Driver's code 
    public static void main(String[] args) 
    { 
        // Creating first set 
        Set<String> 
            set1 = Sets.newHashSet("G", "e", "e", "k", "s"); 
  
        // Creating second set 
        Set<String> 
            set2 = Sets.newHashSet("g", "f", "G", "e"); 
  
        // Using Guava's Sets.intersection() method 
        Set<String> 
            answer = Sets.intersection(set1, set2); 
  
        // Displaying the intersection of set1 and set2 
        System.out.println("Set 1:"
                           + set1); 
        System.out.println("Set 2:"
                           + set2); 
        System.out.println("Set 1 intersection Set 2:"
                           + answer); 
    } 
}
输出:
Set 1:[k, s, e, G]
Set 2:[e, f, g, G]
Set 1 intersection Set 2:[e, G]

注意:当set1是两个集合中的较小者时,返回的视图的性能会稍好一些。如果您有理由相信其中一个集合通常会小于另一个集合,请先通过。



相关用法


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