<수업코드>
package com.util1;
import java.util.ArrayList;
import java.util.List;
public class ArrayListEx01 {
public static void main(String[] args) {
// 1. ArrayList 객체 생성 (기본 크기로 생성)
ArrayList ar1 = new ArrayList();
// 2. ArrayList 객체 생성 (크기를 100으로 미리 지정)
ArrayList ar2 = new ArrayList(100);
// 3. List 인터페이스를 사용하여 ArrayList 생성
// List는 인터페이스이며, ArrayList는 이를 구현한 클래스
List list = new ArrayList();
// 4. ArrayList에 데이터 추가 (add 메서드를 통해 요소 추가)
ar1.add("홍길동");
// 5. 문자열을 Object 타입으로 저장 (자동으로 업캐스팅)
String str = "박문수";
Object obj = str;
ar1.add(obj); // Object로 업캐스팅된 문자열 "박문수" 추가
ar2.add("임꺽정");
// 6. ArrayList의 크기 확인 (저장된 요소의 개수를 반환)
System.out.println(ar1.size()); // ar1의 크기 출력 (2)
// 7. ArrayList의 전체 요소 출력
System.out.println(ar1); // ar1에 저장된 요소 출력 (홍길동, 박문수)
// 8. ArrayList에 요소 추가
ar1.add("이몽룡"); // ar1에 "이몽룡" 추가
System.out.println(ar1); // ar1의 요소 출력 (홍길동, 박문수, 이몽룡)
// 9. ArrayList에서 요소를 가져와서 형변환
// ar1.get(0)은 Object 타입이므로, String으로 다운캐스팅 필요
String str1 = (String) ar1.get(0); // 첫 번째 요소를 가져와서 String으로 형변환
System.out.println(str1); // 첫 번째 요소 출력 (홍길동)
// 10. for 문을 이용하여 ArrayList의 모든 요소 출력
// 인덱스를 이용하여 요소를 하나씩 출력
for (int i = 0; i < ar1.size(); i++) {
System.out.println((String)ar1.get(i)); // 각 요소를 가져와서 형변환 후 출력
}
// 11. 향상된 for 문을 이용하여 ArrayList의 모든 요소 출력
// for-each 문을 통해 간결하게 요소 출력
for (Object data : ar1) {
System.out.println((String)data); // Object 타입을 String으로 형변환하여 출력
}
}
}
List
(리스트), Set
(집합), Map
(맵)이 있으며, 각 인터페이스를 구현한 다양한 클래스들이 있습니다.ArrayList
소개:ArrayList
는 자바의 List 인터페이스를 구현한 클래스로, 배열과 비슷하지만 크기가 동적으로 변합니다.ArrayList
의 주요 기능:add()
: 요소를 추가할 수 있습니다. 배열처럼 고정된 크기가 아니기 때문에 요소가 추가될 때마다 자동으로 크기가 늘어납니다.get()
: 특정 인덱스의 요소를 가져올 수 있습니다. 인덱스는 0부터 시작합니다.size()
: 리스트의 크기(요소의 개수)를 확인할 수 있습니다.oString()
: ArrayList
의 모든 요소를 문자열로 출력할 수 있습니다.ArrayList
는 기본적으로 Object 타입을 저장합니다. 따라서 특정 타입의 요소를 가져올 때는 다운캐스팅이 필요합니다. 위 예제에서는 Object
타입으로 저장된 요소를 String
으로 형변환하는 과정을 보여줍니다.ArrayList
에 저장된 모든 요소를 순회하면서 출력할 수 있습니다.ArrayList
는 배열처럼 고정된 크기가 아니며, 동적으로 크기가 증가합니다.