본문 바로가기
개발/일반

java set 으로 union, intersection, difference, reverse

by 로그인시러 2016. 12. 27.


//Union 
List<Integer> c = new ArrayList<Integer>(a.size() + b.size());
addNoDups(c,a);
addNoDups(c,b);

private void addNoDups(List<Integer> toAddTo,List<Integer> iterateOver) {
    for(Integer num:iterateOver){
        if(toAddTo.indexOf(num) == -1) {
            toAddTo.add(num);
        }
    }
}

//intersection
List<Integer> c = new ArrayList<Integer> (a.size() > b.size() ?a.size():b.size());
c.addAll(a);
c.retainAll(b);

//difference a-b
List<Integer> c = new ArrayList<Integer> (a.size());
c.addAll(a);
c.removeAll(b);



출처 : http://stackoverflow.com/questions/3590677/how-to-do-union-intersect-difference-and-reverse-data-in-java

'개발 > 일반' 카테고리의 다른 글

RFI, RFP, RFQ  (0) 2017.03.07
디미터의 법칙  (0) 2017.01.11
BufferedReader 는 threadsafe?  (0) 2016.11.24
디자인 패턴 ( DESIGN PATTERN ) 요약  (0) 2016.11.24
UML 표기법  (0) 2016.11.24

댓글