세트 오브 콜렉션이있는 경우. 그리고 컬렉션에 동일한 쌍을 발견해야한다, 예 :Collection에서 동일한 쌍을 찾는 방법은 무엇입니까?
컬렉션 :
- 설정 {Object_A, Object_B, Object_C}
- 설정 {Object_A, Object_B, Object_F}
방법 쌍을 찾으십시오 : Collection의 Object_A-Object_B> ??? 이 목적을 위해 어떤 Java 라이브러리를 사용할 수 있습니까?
세트 오브 콜렉션이있는 경우. 그리고 컬렉션에 동일한 쌍을 발견해야한다, 예 :Collection에서 동일한 쌍을 찾는 방법은 무엇입니까?
컬렉션 :
방법 쌍을 찾으십시오 : Collection의 Object_A-Object_B> ??? 이 목적을 위해 어떤 Java 라이브러리를 사용할 수 있습니까?
, 당신은 Google Guava를 사용하여 간단하게 호출 할 수있다 :
Sets.intersection(setOne, setTwo);
는 Sets
.
intersection()
를 참조하십시오. 예컨대
:
Sets.SetView<String> intersectionView = Sets.intersection(
ImmutableSet.of("Object_A", "Object_B", "Object_C"),
ImmutableSet.of("Object_A", "Object_B", "Object_D"));
Set<String> intersectionSet = intersectionView.immutableCopy();
intersectionView
모두 원래 세트 뒷받침 만 "Object_A"
및 "Object_B"
요소로서 볼이 될 것이다. intersectionSet
은 교집합의 불변 집합입니다.
귀하의 필요에 따라 자세한 내용이나 대안 (예 : 변경 가능 등)은 구아바 문서를 참조하십시오.
Set<String> setA = new HashSet<>(Arrays.asList("one", "two", "three"));
Set<String> setB = new HashSet<>(Arrays.asList("one", "two", "four"));
Set<String> intersection = new HashSet<>(setA);
intersection.retainAll(setB);
System.out.println("intersection: " + intersection);
다음 예가 도움이됩니다. 당신은 lib 디렉토리를 사용하려면
import java.util.Collection;
import java.util.HashSet;
import java.util.Arrays;
class Identical {
public static void main(String [] args) {
Collection<String> listOne = Arrays.asList("Object_A","Object_B",
"Object_C");
Collection<String> listTwo = Arrays.asList("Object_A","Object_B",
"Object_F");
Collection<String> similar = new HashSet<String>(listOne);
Collection<String> different = new HashSet<String>();
different.addAll(listOne);
different.addAll(listTwo);
similar.retainAll(listTwo);
different.removeAll(similar);
}
}