English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java 기본 튜토리얼

Java 프로세스 제어

Java 배열

Java 대상지향적(I)

Java 대상지향적(II)

Java 대상지향적(III)

Java 예외 처리

Java 리스트(List)

Java Queue(큐)

Java Map 컬렉션

Java Set 컬렉션

Java 입력출력(I/O)

Java Reader/Writer

Java 다른 주제

Java List (리스트)

이 튜토리얼에서는 Java의 List 인터페이스와 그 메서드를 배웁니다.

Java에서 List 인터페이스는 순서가 있는 컬렉션으로, 요소를 순서대로 저장하고 접근할 수 있게 해줍니다. 컬렉션 인터페이스를 확장합니다.

List 구현 클래스

List는 인터페이스이므로 그에서 객체를 생성할 수 없습니다.

List 인터페이스의 기능을 사용하려면 다음과 같은 클래스를 사용할 수 있습니다:

이 클래스들은 Collections 프레임워크에서 정의되고 List 인터페이스를 구현합니다.

List를 어떻게 사용하나요?

Java에서는 List를 사용하려면 java.util.List 패키지를 가져와야 합니다.

//List의 ArrayList 구현
List<String> list1 new ArrayList<>();
// List의 LinkedList 구현
List<String> list2 new LinkedList<>();

이제 우리는 ArrayList와 LinkedList 클래스의 객체 list를 생성했습니다1와 리스트2. 이제 이 객체는 List 인터페이스의 기능을 사용할 수 있습니다

List 메서드

List 인터페이스는 Collection 인터페이스의 모든 메서드를 포함하고 있습니다. 이는 Collection이 List의 슈퍼 인터페이스이기 때문입니다

Collection 인터페이스는 일반적인 List 인터페이스 메서드를 제공합니다

  • add() - 요소를 리스트에 추가합니다

  • addAll() - 한 개의 리스트의 모든 요소를 다른 리스트에 추가합니다

  • get() - 리스트에서 무작위로 요소를 접근하는 데 도움이 됩니다

  • iterator() - 이터레이터 객체를 반환하여 이터레이터를 사용하여 리스트의 요소를 순차적으로 방문할 수 있습니다

  • set() - 리스트의 요소를 변경합니다

  • remove() - 리스트에서 하나의 요소를 제거합니다

  • removeAll() - 리스트에서 모든 요소를 제거합니다

  • clear() - 리스트에서 모든 요소를 제거합니다 (removeAll()보다 효율성이 높습니다)

  • size() - 리스트의 길이를 반환합니다

  • toArray() - 리스트를 배열로 변환합니다

  • contains() -  리스트가 지정된 요소를 포함하고 있으면 true를 반환합니다

List 인터페이스 구현

1. ArrayList 클래스 구현

import java.util.List;
import java.util.ArrayList;
class Main {
    public static void main(String[] args) {
        //ArrayList 클래스를 사용하여 리스트 생성
        List<Integer> numbers = new ArrayList<>();
        //요소를 리스트에 추가합니다
        numbers.add(1);
        numbers.add(2);
        numbers.add(3);
        System.out.println("리스트: " + numbers);
        //리스트에서 요소 접근
        int number = numbers.get(2);
        System.out.println("접근 요소: " + number);
        //리스트에서 요소를 제거합니다
        int removedNumber = numbers.remove(1);
        System.out.println("요소를 제거하려면: " + removedNumber);
    }
}

출력 결과

List: [1, 2, 3]
요소에 접근하려면: 3
요소를 제거하려면: 2

ArrayList에 대한更多信息를 알고 싶다면 방문해 주세요Java ArrayList.

2. LinkedList 클래스 구현

import java.util.List;
import java.util.LinkedList;
class Main {
    public static void main(String[] args) {
        //LinkedList 클래스를 사용하여 리스트 생성
        List<Integer> numbers = new LinkedList<>();
        //요소를 리스트에 추가합니다
        numbers.add(1);
        numbers.add(2);
        numbers.add(3);
        System.out.println("리스트: " + numbers);
        //리스트에서 요소 접근
        int number = numbers.get(2);
        System.out.println("접근 요소: " + number);
        //indexOf() 메서드 사용
        int index = numbers.indexOf(2);
        System.out.println("위치3의 요소는 " + index);
        //리스트에서 요소를 제거합니다
        int removedNumber = numbers.remove(1);
        System.out.println("요소를 제거하려면: " + removedNumber);
    }
}

출력 결과

List: [1, 2, 3]
요소에 접근하려면: 3
위치3의 요소는 1
요소를 제거하려면: 2

LinkedList에 대해 더 알고 싶다면 방문해 주세요Java LinkedList.

Java List와 Set

List 인터페이스와 Set 인터페이스는 모두 Collection 인터페이스를 상속합니다. 하지만 그들 간에는 일부 차이가 있습니다.

  • List는 중복된 요소를 포함할 수 있습니다. 하지만 Set은 중복된 요소를 포함할 수 없습니다.

  • List에 있는 요소들은 특정 순서로 저장됩니다. 하지만 Set에 있는 요소들은 그룹 형태로 저장됩니다. 수학에서의 집합과 같습니다.

지금 우리는 List가 무엇인지 알게 되었으므로, 다음 강의에서 ArrayList과 LinkedList 클래스의 구현을 자세히 설명할 것입니다.