2014-09-17 5 views
0

효율적인 시간에 교차로 2 세트를 얻는 방법에 대한 많은 쿼리를 찾고 있습니다. 그리고 매우 효율적인 방법을 찾고 있습니다. 내 자신의 방식에 동의하기 전에 왜 Java에 동일한 메소드를 수행하도록 요청할 수 없습니까? Java가 정렬 방법이나 컬렉션의 어딘가에있는 Collections 클래스에서 교차와 같은 방법을 빌드하지 않은 이유는 무엇입니까? 이것 뒤에 어떤 이유?자바 컬렉션이있는 교차점

집합에 교차점의 적합도에 대한 설명입니다.

감사합니다,

답변

2

당신이이 컬렉션 retainAll()이다 사이의 교차점을 찾을 수있는 가장 가까운. retainAll은 교차를 포함하는 새 Set을 반환하지 않고 호출 된 set 인스턴스를 수정합니다. 예 : :

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

class Test2 
{ 

    public static void main(String[] args) { 



     Set<String> set1 = new HashSet<>(); 
     set1.add("A"); 
     set1.add("B"); 

     Set<String> set2 = new HashSet<>(); 
     set2.add("A"); 
     set2.add("D"); 
     set1.retainAll(set2); 
     System.out.println(set1); 
    } 

    }