자바의 배열 사용법과 배열의 정렬에 대해 간단히 정리하는 내용이다.
자바의 배열 선언
자바에서 배열을 선언할 때 사용하는 방법은 몇 가지 있는데 그중 가장 기초적인 문법을 예시로 사용하였다.
int size = 10;
//int [] arr = new int[size];
int [] arr = new int[] {3, 5, 7, 1, 2, 4, 6, 9, 0, 8};
for(int i = 0; i < size; i++){
System.out.print(arr[i] + " ");
}
System.out.println();
위에서 사용한 방법은 직접 배열의 원소를 초기화하면서 선언하는 방법이다.
주석 처리된 줄을 사용하여 빈 배열을 선언할 수 있다.
C언어에서 배열을 사용할 때와 문법은 거의 비슷하지만 malloc함수같은 동적 할당에 대한 부분을 고려하지 않아도 된다는 것이 자바(매니지드) 언어의 장점이라고 생각한다.
"가비지 커렉터 = 매니지드언어"라고 정의할 수는 없지만, 매니지드 언어이기 때문에 가비지 커렉터가 존재하고, 덕분에 조금 더 편한 프로그래밍이 가능해졌다!
배열의 정렬
배열을 사용하는 기본적인 문법에 적어도 정렬 정도는 할 줄 알아야 간단한 프로그래밍 문제를 풀 수 있다.
아래는 배열을 정렬하는 간단한 예시코드와 결과이다.
package project;
public class Main {
public static void main(String[] args) {
int size = 10;
//int [] arr = new int[size];
int [] arr = new int[] {3, 5, 7, 1, 2, 4, 6, 9, 0, 8};
for(int i = 0; i < size; i++){
System.out.print(arr[i] + " ");
}
System.out.println();
//버블정렬 알고리즘 구현
for(int i = 0; i < size - 1; i++){
for(int j = i + 1; j < size; j++){
if(arr[i] > arr[j]){
int temp = arr[j];
arr[j] = arr[i];
arr[i] = temp;
}
}
}
for(int i = 0; i < size; i++){
System.out.print(arr[i] + " ");
}
System.out.println();
}
}
버블 정렬은 정말 쉽게 프로그래밍 할 수 있는 정렬 알고리즘의 종류 중 하나이다. 하지만 시간 복잡도가 O(n^2)이기 때문에 실제 알고리즘 문제에서 버블 정렬을 사용한다면 시간 초과가 될 것이다.
시간 복잡도가 낮은 퀵 정렬과 같은 알고리즘을 직접 구현해서 사용하는 것도 좋은 방법이지만, 시간제한이 빡빡한 문제가 아니라면 sort함수를 사용하는 것을 추천한다. 아래는 배열에서 sort함수를 사용한 예시이다.
package project;
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int size = 10;
//Array.sort 메소드 사용법
int[] arr2 = {3, 5, 7, 1, 2, 4, 6, 9, 0, 8};
Arrays.sort(arr2);
for(int i = 0; i < size; i++){
System.out.print(arr2[i] + " ");
}
System.out.println();
}
}
아주 간단한 자바의 배열 사용법에 대해서 공부해봤다.
요즘 입사 전에 할 일이 너무 많아서 개발과 블로그 관리를 잘 못하고 있다..ㅜ 입사 후에 다시 꾸준히 공부하는 개발자가 될 것이다!
*구름 edu의 "바로 실행해보면서 배우는 JAVA (자바)"을 수강 후 정리한 내용입니다.
소스코드는 깃허브 저장소를 참고! (Java언어 외 다양항 프로그래밍 예제도 볼 수 있다.)
'Computer_Language > Java' 카테고리의 다른 글
[Java] 6. 자바의 함수(메소드)와 오버로딩 (0) | 2019.12.23 |
---|---|
[Java] 5. 자바의 반복문 (0) | 2019.12.20 |
[Java] 4. 자바의 조건문과 선택문 (0) | 2019.12.19 |
[Java] 3. 자바의 연산자 (0) | 2019.12.19 |
[Java] 2. 자바의 기본형 자료형 (0) | 2019.12.19 |