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
'JAVA' 카테고리의 다른 글
[JAVA] List 반복문을 활용한 처리 (0) | 2024.11.17 |
---|---|
[JAVA] List의 데이터 변환과 처리 (0) | 2024.11.17 |
[JAVA] List의 데이터 정렬과 검색 (1) | 2024.11.17 |
[JAVA] List의 주요 구현체와 특징 (0) | 2024.11.16 |
[JAVA] List (0) | 2024.11.16 |
[JAVA] Jackson 자주 발생하는 오류와 해결 방법 (1) | 2024.11.15 |
[JAVA] Jackson과 Spring Boot 통합 (0) | 2024.11.15 |
[JAVA] Jackson을 활용한 XML 데이터 처리 (0) | 2024.11.14 |