'2차원배열'에 해당되는 글 1건

  1. 2018.09.06 자바 배열 사용법

자바 배열 사용법



배열이란 같은 데이터 타입을 가진 연속된 메모리 공간으로 이루어진 자료 구조입니다. 같은 데이터 타입을 가진 여러개의 변수를 할당하기위해 사용합니다.


자바에서 배열 사용하는 방법입니다.


1. 1차원 int형 배열

C/C++과 달리 자바는 모든 변수가 객체(Object)로 이루어져있기 때문에 배열을 사용하기 위해 배열 객체에 new를 통해 메모리 공간을 할당해줍니다.

다음은 1차원 int형 배열의 사용방법입니다.


소스코드(Java) - 1차원 int형 배열 선언

int arr[];

arr = new int[10]; // int arr[] = new int[10] 과 같음

// int arr[] = {1, 2, 3, 4} 도 가능


for(int i = 0; i < 10; i++) {

arr[i] = i+1;

}


System.out.print("arr = [ ");

for(int i = 0; i < 10; i++) {

System.out.print(arr[i]);

System.out.print(" ");

}

System.out.println("]");

실행결과


2. 1차원 String형 배열

int와 마찬가지로 String 배열 역시 똑같은 방법으로 선언하고 사용하시면 됩니다.

소스코드(Java) - 1차원 String형 배열 선언

String[] str = new String[10];


for(int i = 0; i<10; i++) {

str[i] = "str" + (i+1);

}


for(int i =0; i < 10;i ++) {

System.out.print(str[i] + " ");

}

실행결과


3. 1차원 int형 배열의 다른 선언방법

C/C++ 등의 언어에서는 배열을 선언과 동시에 크기를 지정해주어야 하지만 자바와 같은 언어의 경우 배열 객체의 선언과 정의를 따로함으로써 배열의 크기를 받아 지정해 줄 수 있습니다.(C/C++의 포인터 동적할당 처럼 사용)

소스코드(Java) - 1차원 int형 배열 선언2

int arr[];

int arr_size = 8;

arr = new int[arr_size];

for(int i = 0; i < arr_size; i++) {

arr[i] = i+1;

}


for(int i = 0; i < arr_size; i++) {

System.out.println(arr[i]);

}

실행결과


4. 2차원 int형 배열

1차원과 마찬가지로 new를 통해 선언할 수 있습니다.

소스코드(Java) - 2차원 int형 배열 선언

int matrix[][] = new int[5][5]; // 다음과 같이 초기화 할 수 있습니다.


for(int i = 0; i < 5; i++) {

for(int j = 0; j < 5; j++) {

matrix[i][j] = (j+1)+(i*5);

}

}


for(int i = 0; i < 5; i++) {

for(int j = 0; j < 5; j++) {

System.out.print(matrix[i][j] + " ");

}

System.out.println();

}

실행결과


5. 배열 복사

System.arraycopy 메소드를 통해 같은 데이터 타입의 배열끼리 배열을 복사 할 수 있습니다.

소스코드(Java) - 1차원 String형 배열 복사

String[] str1 = {"a", "b", "c"};

String[] str2 = new String[3];


System.arraycopy(str1, 0, str2, 0, 3); // 복사할 배열, 복사할 배열의 시작위치, 복사받을 배열, 복사받을 배열의 시작위치, 배열크기


for(int i = 0; i < 3; i++) {

System.out.println(str2[i]);

}

실행결과


6. 배열 정렬

Array클래스의 sort메소드를 통해 배열을 오름차순 또는 내림차순, 인덱스를 지정해서 배열의 요소를 정렬할 수 있습니다. (시간복잡도는 O(n logn))

소스코드(Java) - 1차원 int형 배열 정렬

int arr[] = {4, 2, 3, 1, 0}; // 배열의 선언과 동시에 초기화(크기는 알아서 지정)


Arrays.sort(arr, 0, 5); // 배열, 정렬을 수행 할 시작위치, 끝위치


for(int i = 0; i < 5; i++) {

System.out.println(arr[i]);

}

실행결과


이상입니다.




정보가 유익하셨다면 아래 공감버튼 눌러주시면 감사하겠습니다.

질문사항은 댓글로 달아주시면 성의껏 답변해드리겠습니다.



to Top