크기가 변하는 순서 있는 목록을 관리합니다.
List는 인터페이스이고 ArrayList는 배열 기반 구현입니다. add, get, set, remove를 제공하며 인덱스 조회가 빠르고 중간 삽입·삭제는 뒤 항목 이동이 필요합니다.
예제에서 List<Type> items = new ArrayList<>(); 부분부터 찾으세요. 선언 타입, 실제 객체와 반환값을 한 줄씩 따라가면서 컴파일 단계에서 잡히는 문제와 실행 중 생기는 문제를 구분하세요.
List.of는 변경 불가능한 목록을 만들고 List.copyOf는 외부 변경으로부터 방어적 사본을 만듭니다.
메서드 매개변수와 반환 타입은 구현보다 List 인터페이스를 사용해 결합을 줄입니다.
현재 코드를 먼저 실행해 출력과 타입 흐름을 확인한 뒤 합격 점수만 새 리스트에 모으세요.
remove(1)는 인덱스 삭제이고 remove(Integer.valueOf(1))는 값 삭제라서 정수 목록에서 혼동하기 쉽습니다.
직접 바꿔보세요합격 점수만 새 리스트에 모으세요.
실행 버튼을 누르면 결과가 여기에 표시됩니다.