2010-01-15 4 views
0

같은 크기의 두 세트에있는 값을 비교하는 방법.같은 크기의 두 세트에있는 값을 비교하는 방법

+4

문서를 읽고 사용해보십시오. 그 후에 우리가 어떻게하는지 보여주십시오. 그러면 우리는 더 좋은 길을 찾을 수 있습니다. –

+0

@pavanc, 모두가 당신의 질문에 대한 답을 쓰는데 10 초를 소비한다면 얼마나 도움이 될까요? 그것보다 조금 더 투자 할 수는 없었습니까? 나는 당신이 정말로 여기에서 무엇을 묻고 있는지 전혀 모른다. –

답변

-1

이터레이터를 사용할 수 있습니다. iterating을 통해 비교할 수 있습니다. 이

 HashSet h1 = new HashSet(); 
    HashSet h2 = new HashSet(); 
    Iterator it1 = h1.iterator(); 

    while(it1.hasNext()){ 
     if(!h2.contains(it1.next())) 
      // do whatever u want 
      boolean notequal = true ; 
    } 
+0

HashSet이 순서가 지정되지 않은 컬렉션이므로이 솔루션에 대한 찬성표를 던졌습니다. 즉, 내부에있는 항목의 순서가 무엇인지 모를 수 있습니다. 분명히 해결책이 아닙니다. – nanda

+0

감사합니다 nanda는이 정도입니다. – GuruKulki

+0

변경 사항을 조금 늦게 받아 들여서 내 다운 폰트를 취소 할 수 없습니다. 여전히,'equals()'는 훨씬 적은 코딩으로 똑같은 것을 달성한다고 생각합니다. –

0

세트가 같은 크기입니까? 아니면 두 세트에서 같은 크기 값을 찾고 있습니까?

비교에서 어떤 유형의 값이 세트에 있습니까?

+1

@Asher : 거기에는 답변이 없습니다. 그래서 질문에 대한 의견으로 추가했습니다. –

+0

피드백에 감사드립니다, 마틴. 나는 아직도 일이 어떻게 작동하는지 익숙해지고있다. –

3

처럼 나는 두 세트가 개체의 동일한 유형이 포함되어 있다고 가정합니다. 다음은 요소의 고유 한 비교에 의존 할 수 있는지 또는 다른 유형의 비교가 필요한지 여부에 따라 다릅니다.

Apache CollectionUtils

공공 정적 부울 isEqualCollection (java.util.Collection으로 A, B를 java.util.Collection이)라고 isEqualCollection 수퍼 달콤한 방법

7

ㅎ 하였는가? Set 개체의 equals를 사용하고 있지 않습니까?

+1

하나는 그렇게 생각할 것이고, 그래서 +1. 그러나, 그 질문은 아마도 pavanc이 다른 것을하기를 원한다는 것이 충분히 정의되어 있지 않습니다. –

+0

두 개의 다른 Set 구현이 될 수 있는데,이 경우 equals가 작동하지 않습니다. –

+0

equals()는, (a) IdentityHashMap의 keySet를 사용하는지 (그인가?), 또는 equals()와 일치하지 않는 Comparator로 SortedSet를 사용하지 않는 한, javadocs가 특별히 경고하지 않는 한, 거의 모든 경우에 동작합니다 할 것. –

관련 문제