프로그래밍 (Programming)/자바 (Java)
[Java] 배열과 배열리스트 (Array, ArrayList)
Bbaktaeho
2020. 9. 20. 21:54
배열
같은 자료형의 딱딱한 모임
가장 기본적인 이터러블한 요소이고 한정된 공간을 가지고 있습니다.
선언
boolean[] bs;
byte[] bys;
int[] is;
float[] fs;
double[] ds;
char[] cs;
String[] ss;
할당
this.bs = new boolean[]{true, false, true, false, false};
this.bys = new byte[]{};
this.is = new int[]{-1, 1, 2, 3, 4, 5, 6};
this.fs = new float[]{1, 0.2f, 0.3F}; // 0.1 error
this.ds = new double[]{0, 1, 2, 3, 0.4};
this.cs = new char[]{'a', 'b', 'c', 'd', 'e'}; // "f" error
this.ss = new String[]{"", " ", "hello", "world"}; // '' error
선언이 되어있는 상태에서 값을 바로 할당할 수 없다.
선언과 할당
// new 자료형[] {} 도 가능
boolean[] bs = {true, false, true, false, false};
byte[] bys = {};
int[] is = {-1, 1, 2, 3, 4, 5, 6};
float[] fs = {1, 0.2f, 0.3F}; // 0.1 error
double[] ds = {0, 1, 2, 3, 0.4};
char[] cs = {'a', 'b', 'c', 'd', 'e'}; // "f" error
String[] ss = {"", " ", "hello", "world"}; // '' error
사용과 특징
- 정해진 배열의 길이 안에서 요소에 접근할 수 있음(인덱싱)
- 유연하게 배열의 크기를 조절할 수 없음
배열 리스트
같은 자료형의 유연하고 사용이 편리한 모임
List를 구현한 클래스들 중에 하나로서 기본적인 자료구조입니다.
java.util 패키지에 존재합니다.
선언
import java.util.ArrayList;
ArrayList<TYPE> list;
할당
this.list = new ArrayList<>();
// or
this.list = new ArrayList<>(5); // initialCapacity
크기를 지정할 수도 있습니다. 그러나 크기를 넘겨도 상관없습니다.
사용
- add(e) : 리스트의 뒤로 요소를 추가
ArrayList<String> list = new ArrayList<>();
list.add("1");
list.add("2");
list.add("3");
list.add("4");
list.add("5");
list.add("6");
// [1, 2, 3, 4, 5, 6]
- add(index, e) : 리스트의 특정 위치에 추가
ArrayList<String> list = new ArrayList<>();
list.add("1");
list.add("2");
list.add("3");
list.add("4");
list.add("5");
list.add("6");
list.add(0, "0");
// [0, 1, 2, 3, 4, 5, 6]
- get(index) : 리스트의 특정 위치를 가져옴
// 리스트 : [0, 1, 2, 3, 4, 5, 6]
String value = list.get(3); // 3
- remove(o), remove(index) : 리스트의 특정 값이나, 특정 위치를 삭제
- clear() : 모두 삭제
- indexOf(o) : 특정 값의 인덱스를 가져옴
- set(index, e) : 특정 위치의 요소를 새로운 값으로 변경
- 등등...
특징
- 배열의 특징을 그대로 가져옴
- 크기가 정해져 있지 않아서 매우 유용하게 사용이 가능
- 메서드를 제공하여 쉽게 요소들을 다룰 수 있음
반응형