minlog
article thumbnail

 

 

자바 배열을 다루는 메소드에 대해서 공부하기. 주로  배열에서 Arrays 클래스의 메소드를 많이 사용한다.

 

Arrays 클래스에는 배열을 다루기 위한 다양한 메소드가 포함되어 있으며 java.util 패키지에 포함된다.

객체를 생성하지 않고도 바로 사용이 가능하며, import 문으로 java.util 패키지를 불러오고 나서 사용이 가능하다.

 

 

 

1. 배열의 출력

Arrays.toString(배열이름);

1차원 배열 안의 값을 쉽게 출력하는 방법

 

Arrays.deepToString(배열이름);

2차원 배열안의 값을 쉽게 출력하는 방법

 

FOR문을 사용한 배열 출력

 

[ JAVA ] 자바 배열 문법 / 1차원 배열과 2차원 배열

1차원 배열 배열이란 하나의 변수를 사용하더라도 10개의 데이터를 저장 할 수 있는 것. 동일한 자료형의 순차적 자료 구조 인덱스 연산자[ ]를 이용하여 빠른 참조가 가능 물리적 위치와 논리적

jimin-log.tistory.com

 

 

 


 

2. 배열의 복사

 

깊은 복사

각각의 객체를 생성하여 그 객체의 값을 복사하여 배열이 서로 다른 객체를 가리키도록 함

 

Object.clone();

배열 복사의 보편적인 방법으로 깊은 복사이다.

 

Arrays.copyOf(arr1,arr.length);

arr1 배열 arr1.length 만큼을 복사한다.

 

 

Arrays.copyOfRange(arr1, 1, 3));

배열의 일부를 복사해서 새로운 배열을 만든다

 

 

 

얕은 복사

객체 주소만 복사되어 한쪽 배열의 요소를 수정하면 같이 수정 됨

 

System.arrayCopy(src, srcPos, dest, destPos, length)

자바에서 제공되는 배열 복사 메서드이다.

파라미터 값을 보면 (원본배열, 원본시작인덱스, 타겟배열, 타겟시작인덱스, 복사개수) 를 지정해주면된다.

 

 

 


 

 

3. 배열 정렬

 

배열 오름차순

Arrays.sort(배열이름);

 

배열 내림 차순

 //1. 오름차순으로 배열 변경
 Arrays.sort(배열이름);
 //2. 내림차순으로 FOR문을 사용해 수정
or (int i = arr.length - 1; i >= 0; i--) {
	System.out.print(arr[i]);
}

 

2차원 배열 정렬

int arr2[][] = {{2,90},{1,60},{3,20}}; // {1,60},{2,90},{3,20}

//Arrays.sort(arr2, new Comparator<T>() {
Arrays.sort(arr2, new Comparator<int[]>() {
	//빨간 텍스트 클릭 하면 하단에 필요 내용 자동 추가됨
	@Override
	public int compare(int[] o1, int[] o2) {
		// 정렬기준 작성 : 2차원 배열 안에 1차원 첫번째 인덱스를 기준으로 오름차순
			// 두번째 값으로 기준 하려면  o1[1] < o2[1]
		if(o1[0] < o2[0]) {
			return -1; //변경하지 않게
		}else if (o1[0] > o2[0]){
			return 1; // 자리 변경
		}else {
			return 0;
		}
	}
	
});
System.out.println(Arrays.deepToString(arr2));

 

 


 

4. 문자 배열 비교

equals()

일차원배열에서 사용

 

deepEquals()

다차원 배열 사용이 가능하다.

 

 

 

 

profile

minlog

@jimin-log

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!