JAVA

[JAVA] List 인터페이스의 주요 메서드

인생아 2024. 11. 16. 21:56
반응형

Java의 List 인터페이스는 컬렉션 프레임워크에서 가장 널리 사용되는 인터페이스 중 하나로, 데이터의 순서를 유지하면서 중복을 허용하는 특징을 가집니다. 이번 글에서는 데이터 추가, 조회, 삭제 및 기타 유용한 메서드들을 상세히 설명하고, 각 메서드에 대한 예제 코드도 함께 제공합니다.

데이터 추가: add(), addAll()

add() 메서드

add() 메서드는 리스트에 새로운 데이터를 추가합니다. 데이터는 리스트의 맨 끝에 삽입되며, 삽입 성공 시 true를 반환합니다.

예제 코드

import java.util.ArrayList;
import java.util.List;

public class Main {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        
        // 데이터 추가
        list.add("사과");
        list.add("바나나");
        list.add("포도");
        
        System.out.println("리스트: " + list);
    }
}

출력 결과

리스트: [사과, 바나나, 포도]

addAll() 메서드

addAll() 메서드는 다른 컬렉션의 모든 요소를 리스트에 추가합니다. 리스트의 크기가 한 번에 증가하므로 대량 데이터를 처리할 때 유용합니다.

예제 코드

import java.util.ArrayList;
import java.util.List;

public class Main {
    public static void main(String[] args) {
        List<String> list1 = new ArrayList<>();
        list1.add("사과");
        list1.add("바나나");

        List<String> list2 = new ArrayList<>();
        list2.add("포도");
        list2.add("수박");

        // 리스트 병합
        list1.addAll(list2);

        System.out.println("병합된 리스트: " + list1);
    }
}

출력 결과

병합된 리스트: [사과, 바나나, 포도, 수박]

데이터 조회: get(), contains()

get() 메서드

get() 메서드는 리스트의 특정 인덱스에 위치한 요소를 반환합니다. 인덱스는 0부터 시작합니다.

예제 코드

import java.util.ArrayList;
import java.util.List;

public class Main {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("사과");
        list.add("바나나");
        list.add("포도");

        // 특정 인덱스의 값 가져오기
        System.out.println("2번째 요소: " + list.get(1)); // 인덱스 1
    }
}

출력 결과

 
2번째 요소: 바나나

contains() 메서드

contains() 메서드는 리스트에 특정 데이터가 존재하는지 확인합니다. 결과는 true 또는 false로 반환됩니다.

예제 코드

import java.util.ArrayList;
import java.util.List;

public class Main {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("사과");
        list.add("바나나");
        list.add("포도");

        // 데이터 포함 여부 확인
        System.out.println("리스트에 '포도'가 있나요? " + list.contains("포도"));
    }
}

출력 결과

리스트에 '포도'가 있나요? true
반응형

데이터 삭제: remove(), clear()

remove() 메서드

remove() 메서드는 특정 데이터를 삭제하거나 특정 인덱스의 데이터를 제거합니다.

예제 코드 (데이터로 삭제)

import java.util.ArrayList;
import java.util.List;

public class Main {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("사과");
        list.add("바나나");
        list.add("포도");

        // 데이터 삭제
        list.remove("바나나");
        System.out.println("삭제 후 리스트: " + list);
    }
}

출력 결과

삭제 후 리스트: [사과, 포도]

예제 코드 (인덱스로 삭제)

import java.util.ArrayList;
import java.util.List;

public class Main {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("사과");
        list.add("바나나");
        list.add("포도");

        // 인덱스 기반 데이터 삭제
        list.remove(0);
        System.out.println("삭제 후 리스트: " + list);
    }
}

출력 결과

삭제 후 리스트: [바나나, 포도]

clear() 메서드

clear() 메서드는 리스트의 모든 데이터를 제거합니다.

예제 코드

import java.util.ArrayList;
import java.util.List;

public class Main {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("사과");
        list.add("바나나");

        // 리스트 초기화
        list.clear();
        System.out.println("초기화 후 리스트: " + list);
    }
}

출력 결과

초기화 후 리스트: []

기타 메서드: size(), isEmpty(), indexOf(), lastIndexOf()

size() 메서드

size() 메서드는 리스트의 현재 요소 개수를 반환합니다.

예제 코드

import java.util.ArrayList;
import java.util.List;

public class Main {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("사과");
        list.add("바나나");

        System.out.println("리스트 크기: " + list.size());
    }
}

출력 결과

리스트 크기: 2

isEmpty() 메서드

isEmpty() 메서드는 리스트가 비어 있는지 확인합니다.

예제 코드

import java.util.ArrayList;
import java.util.List;

public class Main {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();

        System.out.println("리스트가 비었나요? " + list.isEmpty());
    }
}

출력 결과

리스트가 비었나요? true

indexOf() 메서드

indexOf() 메서드는 리스트에서 특정 데이터가 처음으로 등장하는 위치를 반환합니다. 데이터가 없으면 -1을 반환합니다.

예제 코드

import java.util.ArrayList;
import java.util.List;

public class Main {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("사과");
        list.add("바나나");
        list.add("포도");

        System.out.println("'바나나'의 위치: " + list.indexOf("바나나"));
    }
}

출력 결과

'바나나'의 위치: 1

lastIndexOf() 메서드

lastIndexOf() 메서드는 리스트에서 특정 데이터가 마지막으로 등장하는 위치를 반환합니다.

예제 코드

import java.util.ArrayList;
import java.util.List;

public class Main {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("사과");
        list.add("바나나");
        list.add("사과");

        System.out.println("'사과'의 마지막 위치: " + list.lastIndexOf("사과"));
    }
}

출력 결과

'사과'의 마지막 위치: 2

참고 사이트

Java 공식 문서: https://docs.oracle.com/javase/8/docs/api/java/util/List.html

반응형