길이가 다른 배열 비교 할수 있나요

조회수 2183회

public static void main(String[] args) {

int[] array1 = new int[4];

int[] array2 = new int[7];

Arrays.equals(array1,array2);

}

이렇게 해도 에러는 안나오는데 제대로 비교 한건지 잘 모르겠습니다. 이렇게 하면 array1의 길이까지만 비교하고 나머진 비교안하는건지 질문 드립니다.

  • (•́ ✖ •̀)
    알 수 없는 사용자
  • 생각을 해보세요. 길이가 다른 배열이니 똑같을 수는 없고 교집합을 구하고 싶은 것 아닌가요? 정영훈 2018.8.14 23:32
  •    답변 감사합니다 제가 실수로 array2에 값을 하나 더넣었는데 어레이1까지만 비교 하고싶어서요 일단 에러가 안나오니 문제는 없어보입니다 초보라서 질문이 두서없었나봅니다 알 수 없는 사용자 2018.8.15 14:06

1 답변

  • 아래에도 거의 똑같은 질문을 등록했던데...stream 을 이용하는 방법이 제일 간단합니다.

    import java.util.*;
    import java.util.stream.*;
    
    List<Integer> arr1 = Arrays.asList(1, 2, 3, 4, 5, 6);
    List<Integer> tmp = Arrays.asList(2, 3, 6);
    List<Integer> result = arr1.stream().filter(tmp::contains).collect(Collectors.toList());    // arr1 과 tmp 의 교집합. 즉 존재하는 값만 추출
    
    // result 에는 [2, 3, 6] 이 저장됩니다.
    

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)