728x90
반응형
Arrays 메서드
배열의 관리를 위한 메서드들
- toString
- copyOf
- copyOfRange
- setAll
- fill
- sort
- binarySearch
- deeptoString
- deepEquals
자세한 설명은 아래 주석 참고
int[] arr = {0,1,2,3,4};
int[] arr2 = Arrays.copyOf(arr, 4);
System.out.println(Arrays.toString(arr2));
// 항상 from ~ to의 형식이기 때문에 0,1,2,3까지만 출력된다
// [0, 1, 2, 3]
int[] arr3 = Arrays.copyOfRange(arr, 1, 4);
System.out.println(Arrays.toString(arr3));
// from ~ to이기 때문에 1,2,3까지만 출력
// [1, 2, 3]
int[] arr4 = Arrays.copyOfRange(arr, 1, 6);
System.out.println(Arrays.toString(arr4));
// 범위 초과시에는 기본값의 초기값을 대입, 따라서 index 5의 자리는 0으로 채워짐
// [1, 2, 3, 4, 0]
int[] FillArr = {1,2,3};
Arrays.fill(FillArr, 5);
System.out.println(Arrays.toString(FillArr));
// Arrays.fill은 공백이거나 이미 데이터가 있는 배열을 지정한 특정 문자열로 채워넣음
// [5, 5, 5]
int[] FillArr2 = {1,2,3};
for(int list : FillArr2) {
// for문으로 FillArr의 값을 순차적으로 꺼내고
char[] ch = new char[list];
// 그 값을 character배열의 길이에 대입한 후
Arrays.fill(ch, '*');
// 배열의 길이만큼 *로 대체하여 출력하면
// 그 배열의 길이만큼 *가 출력이됨
System.out.println(new String(ch) + list);
// *1
// **2
// ***3
}
int[] SetArr = {1,2,3,4};
Arrays.setAll(SetArr, (i) -> (int)(Math.random()*10) + 1);
System.out.println(Arrays.toString(SetArr));
// SetAll은 람다식을 이용하여 공백이거나 데이터가 존재하는 값을
// 특정 배열로 집어넣을 때 사용됨. 위의 예시는 배열을 난수로 채워넣음
// [2, 3, 9, 10]
char[] biArr = {'C','B','D','F','A'};
System.out.println(Arrays.binarySearch(biArr, 'F'));
// binarySearch는 배열 안의 특정 값 index를 찾아줌
// 3
Arrays.sort(biArr);
System.out.println(Arrays.toString(biArr));
// sort메서드는 배열을 오름차순으로 정렬
// [A, B, C, D, F]
System.out.println(Arrays.binarySearch(biArr, 'P'));
// 값이 없을 때는 음수를 반환
int[][] DimenArr = {{1,2,3},{4,5,6},{7,8,9}};
int[][] DimenArr2 = {{1,2,3},{4,5,6},{7,8,9}};
System.out.println(Arrays.deepToString(DimenArr));
System.out.println(Arrays.deepEquals(DimenArr, DimenArr2));
// 다차원 배열을 비교하거나 출력할때는 deeptoString, deepEquals를 이용해야한다
// [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
// true
728x90
반응형
'Java > 자바의정석 기초편' 카테고리의 다른 글
자바의 정석 11장 (29일차) - TreSet (0) | 2022.02.20 |
---|---|
자바의 정석 11장 (29일차) - HashSet (0) | 2022.02.20 |
자바의 정석 11장 (29일차) - Iterator (0) | 2022.02.20 |
자바의 정석 11장 (28일차) - Stack&Queue (0) | 2022.02.19 |
자바의 정석 11장 (28일차) - LinkedList (0) | 2022.02.19 |