Guava에서는 Set의 교집합(intersection)을 지원한다. 하지만, List쪽은 지원하지 않는다.
http://guava-libraries.googlecode.com/svn/tags/release04/javadoc/com/google/common/collect/Sets.html
static <E> Sets.SetView<E> intersection(Set<E> set1, Set<?> set2)
참고
여러 List 간 교집합을 간단히 구하려면, java.util.List의 retainAll() 메소드를 사용하면 교집합을 얻을 수 있다.
@Test
public void retainTest() {
List<Integer> l1 = Lists.newArrayList(1, 2, 3);
List<Integer> l2 = Lists.newArrayList(3, 4, 5);
l1.retainAll(l2);
System.out.println(l1);
l2.retainAll(l1);
System.out.println(l2);
assertEquals(l1, l2);
}
결과
3
'java core' 카테고리의 다른 글
Set (유일성 보장) 사용시 객체가 구현해야 할 hashcode() (0) | 2016.06.23 |
---|---|
[자바] autoboxing 실수 (실 사례) (0) | 2016.05.20 |
[java] 숫자(int)를 문자열(String)로 변경할 때, comma(,)도 같이 표현하고 싶을 때 (0) | 2016.03.07 |
java8 + centos7 이슈 (0) | 2016.01.05 |
IntStream, LongStream의 범위 - range, rangeClose 차이 및 예제 (0) | 2015.12.14 |