Java Arrays

iy·2024년 1월 9일
0

Java-CollectionFramework

목록 보기
6/7

Arrays

  • 배열을 다루기 편리한 메서드(static) 제공
  1. 배열의 출력 - toString()
  2. 배열의 복사 - copyOf(), copyOfRange()
int[] arr = Arrays.copyOfRange(fromindex,toindex); // from<=x<to
  1. 배열 채우기 - fill(), setAll()
  2. 배열의 정렬과 검색 - sort(),binarySearch()
    • binarySearch() : 정렬된 배열에만 가능!
int[] arr = {3,2,0,1,4};
int idx = Arrays.binarySearch(arr,2); // idx = 5(잘못된 결과!)

Arrays.sort(arr);
System.out.println(Arrays.toString(arr)); //{0,1,2,3,4}
int idx = Arrays.binarySearch(arr,2); // idx =2(올바른 결과)

순차 검색과 이진 검색
순차 검색은 정렬이 되있지 않은 배열에서 수를 찾을 때 하나씩 다 찾아가는 것이고 이진 검색은 정렬 후 반씩 나눠서 반 나눈 값보다 큰지 작은지 비교 하고 만약 크다면 작은 쪽 버리고 큰 쪽에서 또 반을 나눠서 찾음

  1. 다차원 배열의 출력 - deepToString()
  2. 다차원 배열의 비교 - deepEquals()
  3. 배열을 List로 변환 - asList(Object...a)
List list = Arrays.asList(new Integer[]{1,2,3,4,5}); //list =[1,2,3,4,5]
List list = Arrays.asList(1,2,3,4,5); // list = [1,2,3,4,5]
list.add(6); // List는 읽기 전용이므로 이 곳에 add메서드로 값을 추가하려고 하면 UnsupportedOperationException 예외발생

List list = new ArrayList(Arrays.asList(1,2,3,4,5)); // 새로운 ArrayList 만들고 진행하므로 변경 가능
  1. 람다와 스트림(후에 자세히 설명) 관련 - paralleXXX(), spliterator(),stream()

☃참고❄
자바의정석-Arrays

0개의 댓글