반응형
Recent Posts
Recent Comments
«   2024/05   »
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 31
Archives
Today
Total
관리 메뉴

Bbaktaeho

[Java] 배열과 배열리스트 (Array, ArrayList) 본문

프로그래밍 (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) : 특정 위치의 요소를 새로운 값으로 변경
  • 등등...

특징

  • 배열의 특징을 그대로 가져옴
  • 크기가 정해져 있지 않아서 매우 유용하게 사용이 가능
  • 메서드를 제공하여 쉽게 요소들을 다룰 수 있음
반응형