티스토리 뷰

반응형


방법 1. 단순 비교하는 방법. matchedValues값이 list의 갯수와 같으면 두 리스트는 같은 것 아니면 다른 것

Set<Foo> set1 = new HashSet<Foo>(list1);
for (Foo foo : list2) {
if (set1.contains(foo)) {
matchedValues++;
}
}


방법2. source list에 dest list를 비교하여 포함되지 않는 것을 저장, dest list에 source list를 비교하여 포함되지 않는 것을 저장하여 이 list들이 모두 비어있으면 해당 list들은 같은 것, 하나라도 비어있지 않으면 두 list는 다른 것으로 판단하면 됨

   private boolean compareList(List<타입> source, List<타입> dest) {

Set<Object> sourceDifference = source.stream()
.filter(t->!dest.contains(t))
.collect(Collectors.toSet());

Set<Object> destDifference = dest.stream()
.filter(t->!source.contains(t))
.collect(Collectors.toSet());

return sourceDifference.isEmpty() && destDifference.isEmpty();
}


반응형
댓글
공지사항
최근에 올라온 글