1. ArrayList란?
ArrayList는 List 인터페이스를 구현한 클래스로, 가변 크기의 배열이다. 일반 배열과 다르게 Array는 데이터를 동적으로 추가하거나 삭제할 수 있다. 또 한 인덱스가 있어 저장 순서가 유지되며, 데이터 중복이 허용된다. 제네릭 문법을 사용할 수 있으며, 사용하지 않는 경우 내부적으로 Object 타입으로 처리된다.
ArrayList에서 제네릭을 사용하면, ArrayList에 특정 타입의 객체만 추가할 수 있게되어, 불필요한 타입 변환을 방지할 수 있다.
예제
import java.util.ArrayList;
//컬렉션(Collection) 프레임워크의 ArrayList를 사용하는 예제 코드를 구현해보시오.
//이 문제는 ArrayList에 대한 개념과 기본적인 사용법에 대해서 알고 있는지를 묻는 문제이다.
//[!] : ArrayList
//자바의 배열은 크기를 미리 지정하고 사용한다.
//반면, ArrayList는 필요시 언제든지 추가, 삭제가 가능하다.
//List 인터페이스를 상속하므로 인덱스가 있고, 저장순서가 유지되고, 데이터 중복이 가능하다.
//또한, 제네릭 문법을 사용할 수 있다. -> 제네릭을 사용하지 않는다면 내부적으로 Object타입으로 처리된다.
//사용을 위해서는 상단에 import가 필요하다. -> import java.util.ArrayList; 또는 import java.util.*;
public class Collection_FrameworkArrayList {
public static void main(String[] args) {
//[1] : ArrayList를 제네릭이 아닌 Object 타입으로 사용하는 경우.
ArrayList list = new ArrayList();
//[2] : 데이터 추가 -> add()
list.add("홍길동"); //문자열 자료형 저장
list.add(20); //정수 자료형 저장
list.add("이순신"); //데이터 중복 가능
list.add(25);
//[3] : 데이터 가져오기 -> get() -> 이때, 해당 데이터 자료형을 형변환하여 사용한다.
String str = (String)list.get(0);
Integer num = (Integer)list.get(1);
System.out.println(str);
System.out.println(num);
//[!] : 결론
//이상으로 봤을 때, 제네릭 문법을 사용하지 않으면 ArrayList는 내부적으로 Object타입으로 처리됨
//get() 메서드를 사용할때는 형변환을 주의해야한다.
//형변환 해주어야 한다.
//[4] : 출력 -> 반복문 -> 배열의크기(size) -> 객체명.size()
System.out.println("--- list1 객체에 저장된 데이터 ---");
for(int i = 0; i < list.size(); i++) {
System.out.println(i + "번째 데이터 : " + list.get(i) + " ");
}
}
}
2. ArrayList 객체 생성과 데이터 추가
ArrayList객체를 생성하는 방법은 "ArrayList list = new ArrayList(); 와 같다. ArrayList에 데이터를 추가하는 방법은 "list.add(date);" 형태의 add메서드를 사용해, 이 메서드에 인자로 추가할 객체를 받아, ArrayList의 마지막에 추가한다.
list.add("홍길동");
list.add(20);
list.add("이순신");
list.add(25);
이 경우, 문자열과 정수 데이터들이 순서대로 추가된다.
3. 데이터 가져오기 - get() 메서드
ArrayList에서 데이터를 가져오는 방법은 "get()" 메서드를 사용하는 것이다. 이 메서드는 인자로 인덱스를 받아, 해당 인덱스의 객체를 반환한다.
String str = (String)list.get(0);
Integer num = (Integer)list.get(1);
이 경우, ArrayList의 첫 번째와 두 번째 요소를 가져온다. 제네릭을 사용하지 않았기 때문에, 각 요소를 원래의 타입으로 형 변환 해야 한다.
4. 데이터 출력 - size() 메서드와 반복문
ArrayList의 모든 요소를 출력하려면, "size()" 메서드와 반복문을 사용할 수 있다. size() 메서드는 ArrayList의 요소 개수를 반환하므로, 이를 이용해 반복문을 실행하여 ArrayList의 모든 요소를 순서대로 출력한다.
for(int i = 0; i < list.size(); i++) {
System.out.println(i + "번째 데이터 : " + list.get(i) + " ");
}
'Java > JAVA 100 문제 풀이' 카테고리의 다른 글
자바 part.5 문제풀이 - ArrayList를 활용한 2차원 배열 데이터 처리 (0) | 2023.08.01 |
---|---|
자바 part.5 문제풀이 - ArrayList를 활용한 데이터 처리 (0) | 2023.08.01 |
자바 part.5 문제풀이 - 컬렉션 프레임워크란 무엇인가? (0) | 2023.08.01 |
자바 part.5 문제풀이 - 제네릭(Generic) 개념 활용 (0) | 2023.08.01 |
자바 part.5 문제풀이 - 제네릭을 사용하지 않을 때 자바에서 발생하는 실행 시점 오류 (0) | 2023.07.31 |