병호의 IT새싹키우기

List 인터페이스 본문

java

List 인터페이스

병호네 2024. 5. 9. 11:10

List 인터페이스란?

  • 자바에서 객체를 순서대로 저장하고 관리할 수 있도록 설계된 인터페이스입니다.
  • 자바의 java.util 패키지에 속하며, 배열이나 연결 리스트 등의 순차적 자료 구조의 구현체를 위한 메서드를 정의합니다.

List 인터페이스의 주요 특징

  1. 순서 유지: List 인터페이스를 구현하는 자료 구조는 원소들이 삽입된 순서를 유지합니다. 이는 원소들이 리스트 내에서 특정 위치(index)를 가지며, 이 인덱스를 통해 접근할 수 있다는 것을 의미합니다.
  2. 중복 허용: List 같은 값을 가진 원소의 중복 저장을 허용합니다. 예를 들어, 같은 값을 여러 번 리스트에 추가할 수 있으며, 이는 리스트의 크기를 증가시키고 각각의 원소는 별도의 인덱스를 갖게 됩니다.
  3. 가변 크기: List의 구현체들은 동적으로 크기가 조절됩니다. 즉, 원소를 추가하거나 제거함에 따라 리스트의 크기가 자동으로 조정됩니다.

주요 메서드

  • add(E element): 리스트의 끝에 원소를 추가합니다.
  • get(int index): 지정된 위치의 원소를 반환합니다.
  • remove(int index): 지정된 위치의 원소를 제거하고 그 원소를 반환합니다.
  • indexOf(Object o): 지정된 객체가 처음으로 나타나는 위치의 인덱스를 반환합니다. 객체가 리스트에 포함되어 있지 않은 경우 -1을 반환합니다.
  • size(): 리스트에 있는 원소의 수를 반환합니다.

List 인터페이스 구현체

 

  • Collection: 모든 컬렉션 클래스의 최상위 인터페이스입니다.
  • List: Collection 인터페이스를 확장하는 순서가 있는 컬렉션을 위한 인터페이스입니다. 리스트는 중복을 허용하며, 각 요소가 삽입된 순서에 따라 인덱스로 접근할 수 있습니다.
  • ArrayList: 내부적으로 배열을 사용하여 요소를 관리하는 List 구현체입니다. 요소의 무작위 접근이 빠르다는 장점이 있습니다.
  • LinkedList: 내부적으로 연결 리스트를 사용하여 요소를 관리하는 List 구현체입니다. 요소의 삽입과 삭제가 빠르다는 장점이 있습니다.
  • Vector: **ArrayList**와 유사하지만, 모든 메서드가 동기화되어 있어 멀티 스레드 환경에서 안전하게 사용할 수 있습니다.

코드 작성

'java' 카테고리의 다른 글

Map 인터페이스  (0) 2024.05.14
Set 인터페이스  (0) 2024.05.14
컬렉션 프레임워크(collection framework)  (0) 2024.05.09
LinkedList 직접 구현해보기  (0) 2024.05.09
bubble - 10 단계  (0) 2024.05.07