생성
- 제네릭(Generic) 기반
- 생성할 때 데이터타입을 결정(구체화)
List<String> list = new ArrayList<String>();
요소 추가
- 인덱스 지정이 없으면 순서대로 저장
- 인덱스 지정 가능
list.add("월"); list.add("화"); list.add(0, "일"); // 인덱스 지정
리스트 확인
System.out.println(list);
출력:
[일, 월, 화]
요소 제거
- boolean remove(Object obj) : obj 제거, 성공하면 true 반환
- Object remove(int index) : index 위치의 요소 제거. 제거한 요소 반환
boolean result = list.remove("일"); System.out.println(result); System.out.println(list);
출력:
true
[월, 화][월, 화]String removeItem = list.remove(0); // 0번째 아이템을 삭제하겠다.
출력:
true
월
[화]
요소 수정
list.set(0, "일");
출력:
true
월
[일]
리스트 초기화
- 배열을 리스트로 변환
List<String> list = Arrays.asList("일", "월", "화", "목");
리스트 길이
int size = list.size(); System.out.println(size);
출력:
4
개별 요소
String element1 = list.get(0); String element2 = list.get(1); String element3 = list.get(2); String element4 = list.get(3); System.out.println(element1); System.out.println(element2); System.out.println(element3); System.out.println(element4);
출력:
일
월
화
목
for문 순회
String[] arr = {"일", "월", "화", "수"}; for(int i = 0; i < arr.length; i++) { System.out.println(arr[i]); } // 필드값 참조. 여러번 호출해도 상관없음. for(int i = 0; i < list.size(); i++) { System.out.println(list.get(i)); } // size 메소드. 똑값은 값이 여러변 호출됨.
- size() 메소드 호출을 한 번만 진행
for(int i = 0, length = list.size(); i < length; i++) { System.out.println(list.get(i)); }
향상 for문 순회
for(String element : list) { System.out.println(element); }
제네릭
- 참조 타입만 사용 가능
- 기본 타입이 필요한 경우 기본 타입의 Wrapper Class를 사용
Wrapper Class
- 자바의 기본 타입을 클래스화한 8개의 클래스
- 기본 타입은 값만 저장할 수 있으나 Wrapper Class는 기본 타입의 값과 기능을 제공
- 기본 타입을 참조 타입으로 변경할 때 사용
List<Integer> list = new ArrayList<Integer>(); list.add(1); list.add(2); list.add(3);
비어 있는 리스트인가?
boolean result = list.isEmpty(); System.out.println(result);
출력:
false
특정 요소를 포함하고 있는가?
if(list.contains(4)) { System.out.println("4를 포함한다."); } else { System.out.println("4를 포함하지 않는다."); }
출력:
4를 포함하지 않는다.