https://www.techiedelight.com/ko/binary-search-stl-java-collections/ - Arrays method들
https://codechacha.com/ko/java-sorting-array/
https://codechacha.com/ko/java-sorting-comparable/
https://velog.io/@yummygyudon/JAVA-컬렉션-프레임웍-〈-Arrays-〉-〈-Collections-〉
A. [Arrays.copyOf(array, end-point) & Arrays.copyOfRange(array, start-point, end-point)]
copyOf() - “배열 전체”를 복사 (deep Copy)하고 반환해준다.
copyOfRange() - “배열의 일부”를 복사(deep Copy)하고 반환해준다.toString() - 정적배열 Array를 한번에 출력 가능하게 해준다 (for-loop 안쓰고) -1차원 배열만[Code - 사용법]
package ArraysMethod;
import java.util.Arrays;
public class ArraysMethod {
private static int[] array1 = {0,1,2,3,4,5};
private static int[][] array2 = {};
public static void main(String[] args) {
//copyOf
int[] arr2 = Arrays.copyOf(array1, array1.length);
/* array1전체가 복사돼서 arr2에 저장된다.
Arrays.copyOf(array1, array1.length); -> Heap영역에 새로 생성
int[] arr2 -> stack영역에 주소를 반환해서 저장.*/
/* 출력: toString() (그냥 array.toString하면 주소값 출력됨)
* array출력할려면 원래는 for-loop돌렸잖아?
* 그럴필요 없이 이 또한 Arrays.toString() 지원한다*/
//1차원 array 출력
System.out.println(Arrays.toString(arr2));
//array1의 0~2까지 복사해서 넣어준다
int[] arr3 = Arrays.copyOf(array1, 3);
System.out.println(Arrays.toString(arr3));
//기존 배열보다 끝 범위가 더 길다 -> 넘어서는 부분은0으로 채운다
int[] arr4 = Arrays.copyOf(array1, 10);
System.out.println(Arrays.toString(arr4));
//copyofRange()
int[] arr5 = Arrays.copyOfRange(array1, 2, 4);
System.out.println(Arrays.toString(arr5)); //[2,3,4]
int[] arr6 = Arrays.copyOfRange(array1, 0, 10);
System.out.println(Arrays.toString(arr6)); //[2,3,4]
}
}
B. [Array - sort()함수]
Arrays.sort()을 이용하면 쉽게 배열(Array)을 정렬(sorting)할 수 있습니다. 배열에 든 내용이 Integer인지 String인지는 중요하지 않습니다.
자바에서는 Primitive type의 자료 빼고는 모두 Reference Type이다. 즉, 객체라는 의미가 되고 Array또한 객체라는 의미가 된다.