아래 소스코드는 ArrayList의 생성방법 부터 다양한 기능을 사용하는 ArrayList 메서드에 대한 예제코드 입니다.
1. ArrayList 생성방법
1) 요소의 타입을 명시하여 빈 ArrayList를 생성
ArrayList<String> arrayList1 = new ArrayList<>();
2) ArrayList가 저장할 요소의 개수를 알고 있을 때 초기 용량을 지정하여 생성
ArrayList<Integer> arrayList2 = new ArrayList<>(10); // 초기 용량이 10인 ArrayList 생성
3) 다른 Collection에서 ArrayList를 생성
Set<String> set = new HashSet<>();
set.add("one");
set.add("two");
ArrayList<String> arrayList3 = new ArrayList<>(set); // HashSet으로부터 ArrayList 생성
4) 배열(Array)로부터 ArrayList를 생성
String[] array = {"apple", "banana", "cherry"};
ArrayList<String> arrayList4 = new ArrayList<>(Arrays.asList(array)); // 배열로부터 ArrayList 생성
5) List 인터페이스의 of 메서드를 사용하여 요소를 직접 전달하여 ArrayList를 생성
ArrayList<String> arrayList5 = new ArrayList<>(List.of("apple", "banana", "cherry")); // Java 9부터 지원
2. ArrayList 메서드
1) 요소 추가
arrayList.add("사과");
-add(E element): 리스트의 끝에 지정된 요소를 추가합니다.
2) 요소 접근
String fruit = arrayList.get(0);
-get(int index): 지정된 인덱스의 요소를 반환합니다.
3) 요소 수정
arrayList.set(0, "수박");
-set(int index, E element): 지정된 인덱스의 요소를 새 요소로 바꿉니다.
4)요소 삭제
arrayList.remove("사과");
arrayList.remove(0);
-remove(Object o): 리스트에서 지정된 요소를 삭제합니다.
-remove(int index): 지정된 인덱스에 있는 요소를 삭제합니다.
5)크기 확인
int size = arrayList.size();
-size(): 리스트의 요소 수를 반환합니다.
6)비어 있는지 확인
boolean isEmpty = arrayList.isEmpty();
-isEmpty(): 리스트가 비어 있는지 여부를 반환합니다.
7)요소 포함 여부 확인
boolean containsBanana = arrayList.contains("바나나");
-contains(Object o): 지정된 요소가 리스트에 포함되어 있는지 여부를 반환합니다.
8)요소 검색
int index = arrayList.indexOf("수박");
-indexOf(Object o): 리스트에서 지정된 요소의 인덱스를 반환합니다. 요소가 없으면 -1을 반환합니다.
9)모든 요소 제거
arrayList.clear();
-clear(): 리스트의 모든 요소를 제거합니다.
10)배열로 변환
String[] array = arrayList.toArray(new String[arrayList.size()]);
-toArray(): 리스트의 요소를 배열로 반환합니다.
11)다른 컬렉션의 모든 요소 추가
ArrayList<String> otherList = new ArrayList<>();
otherList.add("포도");
otherList.add("레몬");
arrayList.addAll(otherList);
-addAll(Collection<? extends E> c): 지정된 컬렉션의 모든 요소를 리스트 끝에 추가합니다.
12)특정 인덱스부터 다른 컬렉션의 모든 요소 추가
ArrayList<String> otherList = new ArrayList<>();
otherList.add("포도");
otherList.add("레몬");
arrayList.addAll(2, otherList);
-addAll(int index, Collection<? extends E> c): 지정된 인덱스부터 시작하여 지정된 컬렉션의 모든 요소를 리스트에 삽입합니다.
13)부분 리스트 추출
List<String> subList = arrayList.subList(1, 3);
-subList(int fromIndex, int toIndex): 지정된 범위의 요소를 포함하는 새로운 리스트를 반환합니다.
3. 예제 소스코드
import java.util.ArrayList;
import java.util.List;
public class TEST {
public static void main(String[] args) throws Exception {
// ArrayList 생성
ArrayList<String> arrayList = new ArrayList<>();
// 요소 추가
arrayList.add("사과");
arrayList.add("바나나");
arrayList.add("딸기");
// 인덱스를 지정하여 요소 추가
arrayList.add(1, "오렌지");
// 전체 요소 출력
System.out.println("ArrayList 전체 요소: " + arrayList);
// 요소 접근
String fruit = arrayList.get(1);
System.out.println("인덱스 1의 과일: " + fruit);
// 요소 삭제
arrayList.remove("바나나");
System.out.println("ArrayList 전체 요소: " + arrayList);
// ArrayList 크기 확인
System.out.println("ArrayList 크기: " + arrayList.size());
// 특정 요소 포함 여부 확인
boolean containsBanana = arrayList.contains("바나나");
System.out.println("ArrayList에 바나나가 포함되어 있는가? " + containsBanana);
// for-each 문을 이용한 요소 출력
System.out.println("ArrayList 요소:");
for (String item : arrayList) {
System.out.println(item);
}
// 요소 수정
arrayList.set(1, "수박");
System.out.println("ArrayList 수정 후 요소: " + arrayList);
// 요소 검색
int index = arrayList.indexOf("수박");
if (index != -1) {
System.out.println("수박의 인덱스: " + index);
} else {
System.out.println("ArrayList에 수박이 없습니다.");
}
// ArrayList 비우기
arrayList.clear();
System.out.println("ArrayList 비우기 후 크기: " + arrayList.size());
// ArrayList가 비어 있는지 확인
boolean isEmpty = arrayList.isEmpty();
System.out.println("ArrayList가 비어 있는가? " + isEmpty);
// ArrayList를 배열로 변환
arrayList.add("사과");
arrayList.add("바나나");
arrayList.add("딸기");
String[] array = new String[arrayList.size()];
arrayList.toArray(array);
System.out.println("ArrayList를 배열로 변환:");
for (String item : array) {
System.out.println(item);
}
// 부분 리스트 추출
arrayList.add("수박");
List<String> subList = arrayList.subList(1, 3);
System.out.println("부분 리스트:");
for (String item : subList) {
System.out.println(item);
}
}
}
'개발이야기 > Java' 카테고리의 다른 글
[Java] Jasypt 암호화, 복호화 사용방법, 예제코드 (0) | 2024.04.14 |
---|---|
[Java] 특정 문자열 찾기, 포함여부 (contains 메서드 사용방법, 예제) (0) | 2024.02.20 |
[Java] LocalDateTime을 활용해서 날짜와 시간 처리하기 (0) | 2024.02.13 |
[Java] Calendar, Date 클래스 활용해서 날짜 계산하고 더하기 (0) | 2024.02.02 |
[Java] JSONObject 클래스 사용해서 Map을 JSON으로 변환하기 (0) | 2024.01.29 |
댓글