나는개발자다/기타
java의 List에서 retain의미.. (두개의 리스트에서 같은것만 )
혀기님
2012. 4. 3. 12:40
예전 코딩할 때가 생각이 난다.
두개의 list에서 같은것만 새로운 리스트에 담는것.. for 구문 돌려서 고생했던 기억이 난다. ㅎㅎ 몇 년전 이야이지만
아마도 retainAll 이 메소드 몰랐으면 같은 방법으로 코딩할 것이다.
소스를 보면 아주 쉽다.
public class Retain { public static void main(String args[]){ ArrayLista = new ArrayList (); a.add("a"); ArrayList b = new ArrayList (); b.add("b"); // b.add("a"); a.retainAll(b); System.out.println("a size : "+ a.size()); for ( String result : a ){ System.out.println(result); } } }
a list에는 "a"가 입력이 되어있다.
b list에는 "b"가 입력이 되어있다.
이 상황에서 a.retainAll(b)를 하게 되면 a list의 size는 0 된다. 같은것이 없기 때문에.
하지만 b list에 "a","b"가 입력되어 있을 경우 a list의 size는 1이 된다.
간단하다.