[컬렉션 프레임워크] 리스트(List)

seratpfk·2022년 8월 8일
0

JAVA

목록 보기
84/96

생성

  • 제네릭(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를 포함하지 않는다.

0개의 댓글