배열은 같은 타입의 데이터를 연속된 공간에 나열시키고 각 데이터에 인덱스(index)를 부여해 놓은 자료구조이다.
ex) 1 2 3 4 5 구조의 배열이 있으면 메모리에 연속적인 주소를 가지고 저장이 된다.
//int 타입 배열 선언
int[] i_array;
int i_array[];
//배열 생성후 초기화하면 배열의 주소가 할당된다.
int[] i_array = new int[8]; //초기값 0
String[] s_array = new String[8]; //초기값 ""
//배열 선언만 해놓고 나중에 초기화를 시킬수도 있다.
int[] i_array;
i_array = new array[8];
String[] sarr = {"a", "b", "c", "d", "z", "e", "abc"};
int[] iarr = {1, 2, 3, 4, 5, 6, 123, 7};
// ArrayList로 변환
System.out.println(Arrays.asList(sarr)); // [a, b, c, d, z, e, abc]
// String으로 변환
System.out.println(Arrays.toString(sarr)); // [a, b, c, z, e, abc]
System.out.println(Arrays.toString(iarr)); // [1, 2, 3, 4, 5, 6, 123, 7]
// sort, 오름차순 정렬
Arrays.sort(sarr);
System.out.println(Arrays.toString(sarr)); // [a, abc, b, c, d, e, z]
Arrays.sort(iarr);
System.out.println(Arrays.toString(iarr)); // [1, 2, 3, 4, 5, 6, 7, 123]
// sort, 내림차순 정렬 (문자열 배열)
Arrays.sort(sarr, Collections.reverseOrder());
System.out.println(Arrays.toString(sarr)); // [z, e, d, c, b, abc, a]
Integer[] Iarr = {1, 2, 3, 4, 5, 6, 7, 123};
Arrays.sort(Iarr, Collections.reverseOrder());
System.out.println(Arrays.toString(Iarr)); // [123, 7, 6, 5, 4, 3, 2, 1]
// sort, 인덱싱 정렬
Arrays.sort(sarr, 3, 6);
System.out.println(Arrays.toString(sarr)); // [z, e, d, abc, b, c, a]
Arrays.sort(sarr, 2, 5, Collections.reverseOrder());
System.out.println(Arrays.toString(sarr)); // [z, e, d, b, abc, c, a]
// 배열 복사
String[] arr2 = Arrays.copyOf(sarr, Arrays.asList(sarr).size());
System.out.println(Arrays.toString(arr2)); // [z, e, d, b, abc, c, a]
}