프로그래밍/JAVA

29 ArrayList

윤지(●'◡'●) 2021. 4. 22. 10:12
반응형

 

 


 

ArrayList

 

 

컬렉션 클래스 중 가장 많이 사용되는 클래스이다.
Array(배열)의 특징을 이용해서 값을 저장하고 관리하며, 값이 저장될 때에는 인덱스를 부여해서 관리한다.

한번 생성되면 크기가 변하지 않는 배열과는 달리 ArrayList는 객체들이 추가되어 저장 용량을 초과한다면

자동으로 부족한 크기만큼 저장 용량(capacity)이 늘어난다는 특징을 가지고 있다.

 

 

 

1) ArrayList 생성

 

[import]

import java.util.ArrayList;

 

[ArrayList 선언]

ArrayList<>datalist = new ArrayList<>(); //타입 미설정 시, Object로 선언된다.
ArrayList<타입명>datalist = new ArrayList<>(); // 해당 타입의 객체만 사용가능 
ArrayList<User> members = new ArrayList<User>();//User(클래스명)타입설정 : User 객체만 사용가능
ArrayList<Integer> num = new ArrayList<Integer>();//Integer 타입설정 : int타입만 사용가능

 

 

<> 이건 뭘까?
<> 가 붙어 있는 경우 제네릭이라는 기법으로 구현한 것으로,
ArrayList에 저장될 데이터의 타입을 반드시 클래스로 적어야 한다.
- ex) 기본 자료형을 ArrayList에 저장하려면 제네릭에 랩퍼 클래스 이름을 적어주면 된다.(Integer, Character, Double..)

 

 

 

2. ArrayList 값 추가

add(값) / add(인덱스번호,값)

ArrayList<Integer>datalist = new ArrayList<>();

datalist.add(10);	//박싱
datalist.add(80);
datalist.add(1,30);

[결과]

[10, 30, 80]

 

 

 

3. ArrayList 값 변경

set(인덱스번호, 값)

datalist.set(0,20);

[결과]

[20, 30, 80]

 

 

 

 

4. ArrayList 값 삭제

 

remove(인덱스번호) / remove(Object)

datalist.remove(0);
datalist.remove(new Integer(80)); 
// 그냥 값으로 적으면 인덱스 번호로 인식하기 때문에 박싱을 해서 Object로 변경해줘야함

 

[결과]

[30, 80]
[30]

 

 

 

 

 

5. ArrayList 크기 구하기

 

size()

datalist.size();

 

 

 

6. ArrayList 값 존재 유무 확인

 

indexOf() / contains()

datlist.indexOf(30); // 30이 있는 인덱스 번호 반환 , 없으면 -1 
datalist.contains(90); // 90이 있는지 확인 , true or false 반환

 

 

 

 

사진 출처 : https://opentutorials.org/module/1335/8711
사진 출처 : https://www.w3resource.com/java-tutorial/arraylist/arraylist_set.php

열심히 공부하고 있지만, 오류 사항이 존재 할 수 있습니다.

수정 사항이 존재 할 경우 알려주시면 감사하겠습니다 <(__)>

반응형