List 컬렉션
- List 컬렉션은 객체를 일렬로 늘어놓은 구조
- 객체를 인덱스로 관리하기 때문에 객체를 저장하면 자동 인덱스를 부여하고 검색, 삭제할 수 있는 기능 제공
- List 컬렉션에는
ArrayList
, Vector
, LinkedList
등이 있다.
add()
: 객체 추가 메서드
get()
: 객체를 찾아오는 메서드
remove()
: 객체를 삭제하는 메서드
ArrayList
ArrayList
는 List
인터페이스의 구현 클래스로, ArrayList
에 객체를 추가하면 객체가 인덱스로 관리됨
- 일반 배열은 생성할 때 크기가 고정되고 사용 중에 크기를 변경할 수 없지만,
ArrayList
는 저장용량(capacity)을 초과한 객체들이 들어오면 자동적으로 저장용량이 늘어난다.
예제
import java.util.*;
public class ArrayListExample {
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
list.add("java");
System.out.println(list);
list.add("JDBC");
System.out.println(list);
list.add("Servlet/JSP");
System.out.println(list);
list.add(2, "Database");
System.out.println(list);
list.add("iBATIS");
System.out.println(list);
list.add("java");
System.out.println(list);
System.out.println();
int size = list.size();
System.out.println("총 객체 수 : " + size);
System.out.println();
String skill = list.get(2);
System.out.println("2 skill : " + skill);
System.out.println();
for (int i = 0; i < list.size(); i++) {
String str = list.get(i);
System.out.println(i + " : " + str);
}
System.out.println();
String str ="";
for(String data : list) str += data + ", ";
str = str.substring(0, str.length() -2);
System.out.println(str);
System.out.println();
list.remove(2);
System.out.println("remove(2) : " + list);
list.remove(2);
System.out.println("remove(2) : " + list);
list.remove("java");
System.out.println("remove(java) : " + list);
System.out.println();
for (int i = 0; i < list.size(); i++) {
String str1 = list.get(i);
System.out.println(i + " : " + str1);
}
}
}