Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- python
- sql
- Java
- 알고리즘
- 공개키 암호화
- JDBC
- 자바의정석
- cloud computing
- dfs
- JPA
- MVC
- BFS
- Algorithm
- Queue
- DB
- data structure
- 자료구조
- 코테
- javascript
- jsp
- 클라우드 컴퓨팅
- Stack
- 가상컴퓨팅
- spring
- generic class
- 코딩테스트
- 생성자
- 암호학
- dbms
- 크루스칼
Archives
- Today
- Total
PLOD
[Java] 배열(array) 본문
배열은 참조 자료형, 객체로 취급한다. 배열의 타입은 Primitive Data Type, Reference Data Type(클래스 , 인터페이스) 모두 선언 가능하다
// java 1차원 배열 선언
int[] arrays = new int[5]; // 배열의 크기가 5인 배열 생성 및 초기화(default)
int arrays2[] = new int[]{10,11,12,13,14,15,16}; // 생성과 초기화
// java 2차원 배열 선언
int[][] arrays3 = new int[5][4]; // 행의 크기가 5 열의 크기가 4인 2차원 default 배열 생성
int array4[][] = new int[5][]; // 열 크기가 가변적인 배열 생성
int []array5[] = new int[][4]; // 행 크기가 가변적인 배열 생성
/* 2차원 배열 생성 후 출력*/
public class ArrayEx {
public static void main(String[] args){
int[][] arrays;
arrays = new int[][] { {1},
{2, 3 },
{4, 5, 6, 7 },
{8, 9, 10, 11, 12}}; // 배열 생성
System.out.println(arrays.length); // 배열의 행 size
for(int i=0;i < arrays.length;i++){
for(int j=0; j < arrays[i].length;j++){
System.out.print(arrays[i][j]+ " ");
}
System.out.println();
}
}
}
Java에서 배열을 복사할 때 내장 라이브러리에 포함되어 있는 System.arraycopy() 메서드를 사용한다. arraycopy를 호출 할 때는 어느 배열의 몇 번째 요소에서 어느 배열로 몇 번째 요소로 몇 개의 값을 복사할 것인지 지정해줘야 하는데, 다음과 같이 생각하면 이해하기 쉽다.
System.arraycopy(num,0,newArr,0,num.length)
-> num 배열의 0번 인덱스에서 num.length 만큼 복사하여 newArr 0번 인덱스에 붙여넣기
이때 복사하려는 배열의 위치가 적절하지 못하여 복사하려는 내용보다 여유 공간이 적으면 에러가 발생한다.
package ch05;
public class ArrayEx04 {
public static void main(String[] args) {
char[] abc = {'A','B','C','D'};
char[] num = {'0','1','2','3','4','5','6','7','8','9'};
char[] newArr = new char[abc.length + num.length];
System.arraycopy(abc, 0, newArr, 0, abc.length);
System.arraycopy(num, 0, newArr, abc.length, num.length);
for(int i = 0 ; i < newArr.length ; i++) {
System.out.println(newArr[i]);
}
System.out.println();
System.arraycopy(abc, 0, num, 0, abc.length);
System.out.println(num);
}
}
'개발 공부 > Java' 카테고리의 다른 글
[Java] 싱글톤 패턴(Singleton pattern) (0) | 2023.12.31 |
---|---|
[Java] 연산자(Operator) (0) | 2023.09.12 |
[Java] 객체지향프로그래밍(Object-Oriented Programming, OOP) (0) | 2023.06.21 |
[Java] sort(정렬) (0) | 2023.05.31 |
[Java] 제네릭 클래스 (Generic Class) (0) | 2023.01.24 |
Comments