728x90
반응형
배열이란?
- 배열의 길이는 고정되어 있다.
- 자료형의 집합이다.
- 기본 자료형 배열은 선언과 동시에 배열의 크기만큼의 메모리가 할당되지만, 객체 배열의 경우엔 요소가 되는 객체의 주소가 들어갈(4바이트, 8바이트) 메모리만 할당되고(null) 각 요소 객체는 생성하여 저장해야 한다.
String[] weeks = new String[7];
weeks[0] = "월";
weeks[1] = "화";
weeks[2] = "수";
weeks[3] = "목";
weeks[4] = "금";
weeks[5] = "토";
weeks[6] = "일";
배열의 값 접근
- 값을 얻으려면 인덱싱을 이용해야 한다.
String[] weeks = {"월", "화", "수", "목", "금", "토", "일"};
System.out.println(weeks[3]); // 목
배열의 길이
- 배열의 길이는 length를 이용하여 구한다.
String[] weeks = {"월", "화", "수", "목", "금", "토", "일"};
System.out.println(weeks.length); // 7
Arrays의 메소드
- Arrays 클래스에는 배열을 다루기 위한 다양한 메소드가 포함되어 있다.
Arrays.asList(array)
- 배열을 ArrayList로 변환해준다.
String[] a = {"a","b","c","d"};
Arrays.asList(a);
Arrays.toString(array)
int[] b = {13,42,6,8,1};
System.out.println(Arrays.toString(b)); // [13, 42, 6, 8, 1]
Arrays.sort(array) - 오름차순
- 배열안에 Elements를 정렬할 때 사용된다.
int[] b = {13,42,6,8,1};
Arrays.sort(b);
System.out.println(Arrays.toString(b)); // 오름차순 [1, 6, 8, 13, 42]
Arrays.sort(array, reverseOrder()) - 내림차순
int[] b = {13,42,6,8,1};
Arrays.sort(b, Collections.reverseOrder());
System.out.println(Arrays.toString(b)); // 내림차순 [42, 13, 8, 6, 1]
Arrays.sort(array, 시작번호, 끝번호)
- 인덱스의 시작과 끝을 정해 시작번호부터 끝번호-1까지만 오름차순 정렬할 수도 있다.
int[] b = {13,42,6,8,1};
Arrays.sort(b,1,4);
System.out.println(Arrays.toString(b)); // [13, 6, 8, 42, 1]
Arrays.sort(array, 시작번호, 끝번호, reverseOrder()) - 내림차순
String[] a = {"a","b","c","d"};
Arrays.sort(a,2,4, Collections.reverseOrder());
System.out.println(Arrays.toString(b)); // [a, b, d, c]
Arrays.copyOf(array, int newlength)
- 배열을 복사한다.
- 복사하고자 하는 배열은 새로운 배열의 크기가 들어간다.
int[] b = {13,42,6,8,1};
int[] c = Arrays.copyOf(b, 3);
System.out.println(Arrays.toString(c));
Arrays.equals(array1, array2)
- 두 개의 배열의 구성이 같은지 같지 않은지 비교
String[] arr1 = { "홍길동", "임꺽정", "박혁거세", "주몽", "고담덕" };
String[] arr2 = { "홍길동", "임꺽정", "박혁거세", "주몽", "고담덕" };
String[] arr3 = { "홍길동", "임꺽정", "박혁거세", "주몽" };
System.out.println("arr1 == arr2 : " + Arrays.equals(arr1, arr2)); // arr1 == arr2 : true
System.out.println("arr1 == arr3 : " + Arrays.equals(arr1, arr3)); // arr1 == arr3 : false
728x90
반응형
'언어(Language) > Java' 카테고리의 다른 글
[Java] 형변환(업캐스팅), 다운캐스팅 (0) | 2023.02.24 |
---|---|
[Java] 상속(Inheritance)과 다형성(polymorphism) (0) | 2023.02.24 |
[Java] 반복문(while, for) (0) | 2023.02.24 |
[Java] 조건문(if, else if, switch - case) (0) | 2023.02.24 |
[Java] 연산자들(대입, 부호, 산술, 복합, 대입, 증감연산자) (0) | 2023.02.24 |