Java

ArrayList - 갯수 제한없이 데이터를 마음대로 추가 삭제 가능한 함수

yugyeong 2023. 1. 25. 12:56

Array :

데이터를 저장할 array 를 생성할 때, 갯수를 꼭 정해놓고 생성해야한다.

String[] nameArray = new String[10];
int[] numArray = new int[15];

 

위의 array(배열)는 정해진 갯수 이상으로는 데이터 추가가 불가능하다
따라서 갯수 제한없이 데이터를 마음대로 추가할 수도 있고 삭제할 수도 있는 것이 ArrayList 이다.

 

1. ArrayList

  • ArrayList 는 갯수 제한 없이 데이터를 마음대로 추가 또는 삭제 가능하다.
  • 형태 :
    • ArrayList< 담고싶은 데이터 > 변수명 = new ArrayList<>();
ArrayList<String> nameList = new ArrayList<>();

 

2. 데이터 추가 / add()

  • 현재 ArrayList 에는 비어있다. 
  • 따라서 ArrayList 에 데이터 추가할 때에는 add 를 이용한다.
nameList.add("홍길동");
nameList.add("김나나");
nameList.add("Mike");

 

3. 데이터 억세스 / get()

  • 데이터를 억세스 할 때에는 get 함수를 이용한다.
  • get 함수 안에 억세스 하고자 하는 데이터 인덱스를 넣어준다.
String name = nameList.get(1);
System.out.println(name);

>>> 김나나

 

4. ArrayList 의 데이터 갯수를 확인하는 함수 / size

어레이리스트 변수명.size(); 를 하면 어레이리스트의 데이터 갯수를 확인할 수 있다.

nameList.size();

 

5. ArrayList 에 저장된 데이터 모두 출력하기

5.1 for 반복문 이용

for (int i=0; i < nameList.size(); i++) {
    System.out.println(nameList.get(i));
}

 

5.2 for each 반복문 이용

  • 형태 :
    • for ( 받아올 데이터 : ArrayList 변수명 ) 
    • 아래의 예시 for each 문에서는 String 타입의 변수명 data 에 ArrayList 를 받아오도록 하였다.
for ( String data : nameList ) {
    System.out.println(data);
}

 

6. 데이터 값 변경 / set()

// Mike 를 Harry 로 변경
nameList.set(2, "Harry");

 

7. 데이터 삭제 / remove 

  • 인덱스로 삭제 : ArrayList변수명.remove(인덱스);
  • 값으로 삭제 : ArrayList변수명.remove(값);
// 1. 인덱스로 삭제
nameList.remove(2);

// 2. 값으로 삭제
nameList.remove("홍길동");

 

8. 전체 저장된 데이터를 모두 삭제 / clear()

nameList.clear();

 

9. ArrayList 가 비어있는지 확인하는 함수 / isEmpty()

if( nameList.isEmpty() ) {
    System.out.println("nothing");
}else {
    System.out.println("something");
}