1. 배열 초기화 및 선언
Copy int [] arr = new int [ 5 ]; // 길이가 5인 배열 (기본값 0)
Copy int [] arr = { 1 , 2 , 3 , 4 , 5 }; // 배열 선언과 동시에 초기화
2. 배열 복사
System.arraycopy()
를 사용한 배열 복사 :
Copy int [] src = { 1 , 2 , 3 , 4 , 5 };
int [] dest = new int [ 5 ];
System . arraycopy (src , 0 , dest , 0 , 5 ); // src 배열을 dest 배열로 복사
Arrays.copyOf()
를 사용한 배열 복사 :
Copy int [] src = { 1 , 2 , 3 };
int [] copy = Arrays . copyOf (src , 5 ); // src 배열을 길이 5로 복사
3. 배열 정렬
배열 오름차순 정렬 (Arrays.sort()
):
Copy int [] arr = { 3 , 1 , 4 , 1 , 5 };
Arrays . sort (arr); // 오름차순 정렬
Copy Integer [] arr = { 3 , 1 , 4 , 1 , 5 };
Arrays . sort (arr , Collections . reverseOrder ()); // 내림차순 정렬
4. 배열 탐색
이진 탐색 (Arrays.binarySearch()
):
Copy int [] arr = { 1 , 2 , 3 , 4 , 5 };
int index = Arrays . binarySearch (arr , 3 ); // 3이 있는 위치 반환 (인덱스 2)
5. 배열의 최소값과 최대값 찾기
Copy int [] arr = { 3 , 1 , 4 , 1 , 5 };
int min = Arrays . stream (arr) . min () . getAsInt (); // 최소값 1
Copy int max = Arrays . stream (arr) . max () . getAsInt (); // 최대값 5
6. 배열을 문자열로 변환
배열을 문자열로 출력 (Arrays.toString()
):
Copy int [] arr = { 1 , 2 , 3 };
String arrStr = Arrays . toString (arr); // "[1, 2, 3]"
7. 배열 전체 값 초기화
배열의 모든 값을 특정 값으로 채우기 (Arrays.fill()
):
Copy int [] arr = new int [ 5 ];
Arrays . fill (arr , 1 ); // 모든 값을 1로 채움
8. 배열 역순 정렬
Copy int [] arr = { 1 , 2 , 3 , 4 , 5 };
for ( int i = 0 ; i < arr . length / 2 ; i ++ ) {
int temp = arr[i];
arr[i] = arr[ arr . length - 1 - i];
arr[ arr . length - 1 - i] = temp;
}
9. 2차원 배열 생성 및 사용
Copy int [][] matrix = new int [ 3 ][ 3 ]; // 3x3 배열 선언
Copy int [][] matrix = {
{ 1 , 2 , 3 } ,
{ 4 , 5 , 6 } ,
{ 7 , 8 , 9 }
};
Copy for ( int i = 0 ; i < matrix . length ; i ++ ) {
for ( int j = 0 ; j < matrix[ 0 ] . length ; j ++ ) {
System . out . print (matrix[i][j] + " " );
}
System . out . println ();
}
10. 배열 합계 구하기
Copy int [] arr = { 1 , 2 , 3 , 4 , 5 };
int sum = Arrays . stream (arr) . sum (); // 합계 15
11. 배열 요소 중복 제거
배열의 중복 요소를 제거하고 Set으로 변환 :
Copy int [] arr = { 1 , 2 , 2 , 3 , 4 , 4 , 5 };
Set < Integer > set = new HashSet <>();
for ( int num : arr) {
set . add (num); // 중복이 제거된 Set 생성
}
12. 배열에서 특정 요소 찾기
Copy int [] arr = { 1 , 2 , 3 , 4 , 5 };
boolean contains = IntStream . of (arr) . anyMatch (x -> x == 3 ); // true
13. 배열을 리스트로 변환
배열을 리스트로 변환 (Arrays.asList()
):
Copy String [] arr = { "apple" , "banana" , "cherry" };
List < String > list = Arrays . asList (arr); // 배열을 리스트로 변환
14. 리스트를 배열로 변환
Copy List < String > list = Arrays . asList ( "apple" , "banana" , "cherry" );
String [] arr = list . toArray ( new String [ 0 ]); // 리스트를 배열로 변환
15. 부분 배열 복사
배열의 일부분을 복사 (Arrays.copyOfRange()
):
Copy int [] arr = { 1 , 2 , 3 , 4 , 5 };
int [] subArray = Arrays . copyOfRange (arr , 1 , 4 ); // {2, 3, 4}
16. 배열의 모든 요소 비교
배열의 모든 요소를 비교 (Arrays.equals()
):
Copy int [] arr1 = { 1 , 2 , 3 };
int [] arr2 = { 1 , 2 , 3 };
if ( Arrays . equals (arr1 , arr2)) {
System . out . println ( "Arrays are equal" );
}
17. 배열을 큐로 변환
배열을 큐로 변환 (LinkedList
활용):
Copy 사int[] arr = { 1 , 2 , 3 };
Queue < Integer > queue = new LinkedList <>();
for ( int num : arr) {
queue . add (num);
}
18. 다차원 배열의 특정 열/행 추출
Copy int [][] matrix = {
{ 1 , 2 , 3 } ,
{ 4 , 5 , 6 } ,
{ 7 , 8 , 9 }
};
int [] column = new int [ matrix . length ];
for ( int i = 0 ; i < matrix . length ; i ++ ) {
column[i] = matrix[i][ 1 ]; // 두 번째 열을 추출
}
19. 배열 초기화
Copy int [] arr = new int [] { 1 , 2 , 3 }; // 배열 선언과 동시에 초기화
20. 배열 요소 교체
Copy int [] arr = { 1 , 2 , 3 , 4 , 5 };
int temp = arr[ 1 ]; // 임시 변수 사용
arr[ 1 ] = arr[ 3 ];
arr[ 3 ] = temp;