ArrayList는 자바에서 제공하는, 크기가 변할 수 있는 배열
ArrayList를 사용하면 정해진 크기 없이 자유롭게 요소를 추가하고 제거할 수 있다.
주요 특징으로는
동적 크기:
ArrayList는 요소를 추가하면 자동으로 크기가 늘어나고, 요소를 제거하면 크기가 줄어든다.
인덱싱:
배열처럼 숫자(index)를 사용해서 요소를 쉽게 꺼내 쓸 수 있다.
예를 들어, 첫 번째 요소를 가져오려면 list.get(0)을 사용
다양한 타입 저장:
ArrayList는 다양한 데이터 타입(문자열, 숫자 등)의 요소를 저장할 수 있다.
import java.util.ArrayList;
public class ArrayListMain {
public static void main(String[] args) {
// TODO Auto-generated method stub
// 기존의 Array(배열) 은 정해진 데이터의 갯수 이상으로는 데이터 추가가 불가하다!
// 따라서 갯수 제한 없이 데이터를 마음대로 추가할 수도 있고
// 삭제도 할 수 있는 것이 ArrayList 다.
// 사람의 이름을 저장할 수 있는 데이터 스트럭쳐를 만들겠다.
// ArrayList 로 만든다.
// 담고 싶은 데이터의 타입을 < > 안에 적어줘야 한다.
ArrayList<String> nameList = new ArrayList<String>();
// 데이터 추가
nameList.add("홍길동");
nameList.add("김나나");
nameList.add("Mike");
// 데이터 억세스
System.out.println(nameList.get(0));
System.out.println(nameList.get(1));
System.out.println(nameList.get(2));
System.out.println("---------------");
// 전체 데이터를 다 출력하시오.
for(int i=0; i<nameList.size(); i++) {
System.out.println(nameList.get(i));
}
System.out.println("---------------");
// for each 반복문
for(String name : nameList) {
System.out.println(name);
}
System.out.println("---------------");
// 첫번쨰 데이터 홍길동을 김길동으로 변경
nameList.set(0, "김길동");
System.out.println(nameList.get(0));
// 데이터 1개 삭제
// 인덱스로 삭제
nameList.remove(0);
System.out.println("---------------");
for(String name : nameList) {
System.out.println(name);
}
// 값으로 삭제
nameList.remove("Mike");
System.out.println("---------------");
for(String name : nameList) {
System.out.println(name);
}
// 모든 데이터 한꺼번에 삭제
nameList.clear();
System.out.println("---------------");
for(String name : nameList) {
System.out.println(name);
}
// 데이터 비어있는지 아닌지 확인하는 함수
if (nameList.isEmpty()) {
System.out.println("비어있다.");
}else {
System.out.println("데이터가 있다.");
}
}
}
'Java' 카테고리의 다른 글
[Java] 해쉬맵(HashMap) (0) | 2024.06.04 |
---|---|
[Java] 인터페이스(interface) (0) | 2024.06.04 |
[Java] 문자열을 처리하는 문자열 함수들 (0) | 2024.06.03 |
[Java] 문자열을 숫자로 변환, 숫자를 문자열로 변환하는 방법 (2) | 2024.06.03 |
[Java] 정수 및 실수를 클래스로 생성하는 방법 (0) | 2024.06.03 |