2013-02-05 1 views
-1

Java에서 두 개의 배열이 있고 그 배열에서 전체 외부 조인을 수행하기를 원했습니다 (세 번째 배열 반환).Java에서 전체 외부 조인 시뮬레이션

어떻게해야합니까?

+0

더 나은 색인 (= HashMap') 외래 키 열 먼저 그렇지 않으면 O (n^2) 조 복잡도에서 찾고 있어요. 에서. –

+1

왼쪽 또는 오른쪽 외부 조인? :-) 너 혼자 해봤 니? –

+3

@ AndersR.Bystrup 진지하게, 여기서 왼쪽과 오른쪽 조인의 차이점은 무엇입니까? 시험에서 얻은 트릭 질문과 같습니다. –

답변

5

나는 CollectionUtils from apache commons에 당신이 필요로하는 것을 모두 가지고 있다고 믿습니다.

체크 아웃 이러한 방법과 설명 :

조합

공공 정적 java.util.Collection으로 조합 (java.util.Collection으로 A, java.util.Collection이 나)

지정된 컬렉션의 합집합을 포함하는 컬렉션을 반환합니다. 반환 된 컬렉션의 각 요소의 카디널리티는 두 개의 컬렉션에서 해당 요소의 카디널리티 최대 값과 동일한 이됩니다.

매개 변수 :

참조 또한 두 모음의 조합 : 컬렉션

A - null이 반환해서는 안, 두 번째 모음 - 첫번째 수집,

나 널 (null)이 아니어야합니다 .addAll (java.util.Collection)

이것은 아마도 필요한 것입니다. (A, java.util의 java.util.Collection이

빼기

공공 정적 java.util.Collection이 차감 :하지만 좌우 할, 나는 당신이 사용하는 거라고하는 것은이 생각 .Collection b)

a - b가 포함 된 새 모음을 반환합니다. 리턴 된 Collection에있는 각 엘리먼트 e의 카디널리티는 의 e의 카디널리티에서 e의 카디널리티를 뺀 값, 즉 0보다 큰 값이된다.

매개 변수 :

A -에서 뺄 수있는 컬렉션이 null

B가 아니어야합니다 - null이 반환되지해야 뺄 컬렉션 : 결과와 함께 새 컬렉션

참조 : Collection.removeAll (java.util.Collection)