컬렉션 프레임워크 - 2. List

Ⅱ. List

1. List(리스트)

 - 순차적으로 데이터를 저장 및 관리하는 자료구조

 - 배열과의 차이점 : 크기를 미리 정하지 않고 필요할 때마다 조절가능 (저장공간크기 동적변환)

 

2. 자바 List의 2가지 유형

    - ArrayList

    - LinkedList

    ※ 둘다 List이고 사용법이 같음 (그러나 내부적으로 데이터를 생성하는 방식이 다름)

 

3. List의 기능

 - add메소드 : List에 요소를 추가

 - size( )메소드 : List의 길이 정보

 - remove(n) 메소드 : n번 요소를 삭제 (칸의 크기도 바뀜)

// Example
package sample;

import java.util.*; 	// 컬렉션프레임워크일 경우, 추가

// List
public class Main {
	public static void main(String[] args) {
		int[] arr = new int[5];		// 배열 (5칸으로 고정)
		
		// 그러나 List는 다름
		// List는 인터페이스기반으로 되어있음 (인터페이스는 바로 new가 불가)
		// 그래서 List기반의 자식 클래스를 사용하여 객체 생성
		List<String> a = new LinkedList<>();
		
		// List에 요소를 추가할 땐 add메소드
		a.add("아메리카노");
		a.add("카페라떼");
		a.add("자몽에이드");
		
		// 배열의 길이는 length 속성, List의 길이 정보는 size() 메소드
		for(int i = 0; i < a.size(); i++) {
			// 1번 요소를 반환받을 때는 get(i) 메소드 사용
			System.out.println(a.get(i));
		}
		System.out.println("");
		
		// i번 요소를 삭제할 때는 remove(i) 메소드
		a.remove(1);		// 1번 인덱스를 삭제
		
		for(int i = 0; i < a.size(); i++) {
			// 1번 요소를 반환받을 때는 get(i) 메소드 사용
			System.out.println(a.get(i));
		}
	}
}
// 결과 :
// 아메리카노
// 카페라떼
// 자몽에이드
//
// 아메리카노
// 자몽에이드