ArrayList : 배열에서 발전된 형태
요소를 추가하려면 0번 인덱스부터 차례대로 저장
메서드를 사용해서 원하는 위치에 요소를 추가하거나, 삭제, 반환 할 수 있음**
package chapter20230901;
import java.util.*;
public class test01 {
public static void main(String[] args) {
ArrayList list = new ArrayList(); // 타입을 지정하지 않은 형태, 초기 cap 값을 지정할 수도 있음 - new ArrayList(10)
list.add("A"); // 데이터 타입 문자열을 저장
list.add("C");
list.add("E");
list.add("G");
list.add(30); // 테이터 타입 숫자 저장, 문자열과 숫자를 저장 가능 대신 속도와 성능이 하락
System.out.println("초기상태 :");
System.out.println(list); // [A, C, E, G, 30]
System.out.println("인덱스 1 위치에 B 추가 : ");
list.add(1, "B");
System.out.println(list); // [A, B, C, E, G, 30]
System.out.println("인덱스 2 위치의 값 삭제 ");
list.remove(2);
System.out.println(list); // [A, B, E, G, 30]
System.out.println("인덱스 2번 위치의 값 반환 : " + list.get(2)); // E
}
}
String 객체를 저장하는 ArrayList
package chapter20230901;
import java.util.*;
public class test02 {
public static void main(String[] args) {
List<String> list = new ArrayList<String>();// 제네릭을 사용함
// add(), size(), get() 등 메서드는 JAVA에서 ArrayList 안에 만들어준 메서드들, 이건 사용하려면 외워야 함
// String 객체 저장
list.add("Java");
list.add("JDBC");
list.add("Serverlet/JSP");
list.add(2, "Database");
list.add("iBATIS");
int size = list.size(); // 저장된 총 객체수 얻기
System.out.println("총 객체수 : " + size); // 총 객체수 : 5
System.out.println();
String skill = list.get(2); // 2번 인덱스에 저장된 객체 얻기
System.out.println("2 : " + skill); // 2 : Database
System.out.println();
// 저장된 객체 출력
for (int i = 0; i < list.size(); i++) { // 저장된 갯수만큼 반복
String str = list.get(i);
System.out.println(i + " : " + str);
}
System.out.println();
for(String str : list) { // foreach로도 출력 가능
System.out.println(str);
}
System.out.println();
list.remove(2); // 2번 인덱스 Database 삭제
list.remove(2); // 2번 인덱스 Serverlet/JSP 삭제
list.remove("iBATIS");
for (int i = 0; i < list.size(); i++) { // 저장된 갯수만큼 반복
String str = list.get(i);
System.out.println(i + ":" + str);
}
}
}