hayu's 개발 일지

[TIL]240323 List 본문

기술/java

[TIL]240323 List

hayu00 2024. 3. 23. 21:03

List 란?

  • List 는 자바에서 제공하는 데이터 구조 중 하나이며, 여러 개의 데이터를 저장할 수 있는 자료형이다. List는 배열과 비슷하게 인덱스를 사용하여 데이터에 접근 할 수 있지만, 배열과 달리 크기가 가변적이기 때문에 데이터의 추가, 삭제 등이 용이하다. (배열과 같이 일렬로 늘어놓은 구조를 가진다. )

+가변적: 저장된 데이터의 개수가 변할 수 있다. 즉, 크기가 동적으로 변할 수 있다는 뜻이다.

  • List는 인터페이스로 정의되어 있고, ArrayList, LinkedList 등 다양한 구현체가 존재한다. ArrayList는 내부적으로 배열을 사용하여 데이터를 저장하며, 데이터의 접근 속도가 빠르다. LinkedList는 노드(Node)를 사용하여 데이터를 저장하며, 데이터의 추가, 삭제가 빈번하게 일어나는 경우에 사용하기 좋다.
  • List는 제네릭(Generic)을 지원하여 다양한 자료형의 데이터를 저장할 수 있다. 예를 들어 List<String>은 문자열 데이터를 저장하는 List를 의미한다. 그리고 List<Interger>는 정수형 데이터를 저장하는 List를 의미한다.

List 의 특징

  • 순서가 있고, 중복을 허용한다.
  • 인덱스로 관리하기 때문에 인덱스로 접근이 가능하다.
  • 크기가 가변적이다.
public static void main(String[] args) {

        // 일반적으로 리스트를 만들고 add 메서드를 이용하여 객체를 하나씩 저장.
        List<String> list = new ArrayList<>();

        // 객체를 하나씩 저장
        list.add("가");
        list.add("나");
        list.add("다");

        //조회
        for (String str : list) {
            System.out.println(str);
        }

        /* 출력
         * 가
         * 나
         * 다
         * */
    }

List 메서드

  • add(int index, Object element) : 주어진 인덱스에 객체를 추가한다.
  • addAll(int index, Collection c) : 주어진 인덱스에 컬렉션을 추가한다. boolean 타입을 반환한다.
  • get(int index) : 주어진 인덱스에 해당하는 데이터를 반환한다.
  • set(int index, Object element) : 주어진 인덱스에 객체를 저장, Object 타입을 반환한다.
  • indexOf(Object O) / lastindex(Object o) : 순방향 / 역방향으로 탐색하여 주어진 객체의 위치를 반환한다. int 타입을 리턴한다.
  • listIterator() / listIterator(int index) : List의 객체를 탐색할 수 있는 ListIterator 를 반환한다. 주어진 index 부터 탐색할 수 있는 ListIterator 타입을 반환한다.
  • remove(int index) : 주어진 인덱스에 저장된 객체를 삭제하고 삭제된 객체를 반환한다. Object 타입을 반환한다.
  • remove(Object O) : 주어진 객체를 삭제한다. boolean 타입을 반환한다.
  • sort(Comparator c) : 주어진 비교자(Comparator) 로 List를 정렬한다.
  • size() : 저장된 데이터의 개수를 반환한다.
  • contains(Object O) : 주어진 객체가 포함되어 있는지 확인한다.

참고 자료

- https://wikidocs.net/207

- https://danmilife.tistory.com/16

- https://cdragon.tistory.com/entry/%EC%9E%90%EB%A3%8C%EA%B5%AC%EC%A1%B0-%EB%A6%AC%EC%8A%A4%ED%8A%B8List-ArrayList

- https://pongic.tistory.com/3

'기술 > java' 카테고리의 다른 글

[TIL]240403 Map  (0) 2024.04.03
[TIL]240325 ArrayList  (0) 2024.03.25
[TIL]240228 클래스와 생성자(2)  (0) 2024.02.28
[TIL]240227 클래스와 생성자(1)  (0) 2024.02.27
[TIL]240226 애너테이션(Annotation)  (0) 2024.02.26