자바의 List 자료형인 ArrayList에 대해 알아보자. 먼저 ArrayList는 아래와 같이 import할 수 있다.
import java.util.ArrayList;
1. add, get 메서드 & Generics
add 메서드를 사용하면 ArrayList 인스턴스에 원소를 추가할 수 있다.
ArrayList example = new ArrayList();
example.add("1");
example.add("2");
System.out.println(example); // 결과: [1, 2]
이때 위와 같이 "ArrayList example = new ArrayList();"와 방식으로 선언하게 되면 아래와 같이 다른 타입을 넣어줄 수도 있다. 추가적으로 아래와 같이 get 메서드를 사용하면 아래와 같이 해당 인덱스에 해당하는 원소를 가져올 수 있다.
ArrayList example = new ArrayList();
example.add("1");
example.add(2);
System.out.println(example.get(0).getClass()); // 결과: class java.lang.String
System.out.println(example.get(1).getClass()); // 결과: class java.lang.Integer
하지만 아래와 같이 ArrayList를 선언하면 오직 Integer 타입만 넣을 수 있다. 이러한 선언 방식은 "Generics"라고 부른다.
ArrayList<Integer> example = new ArrayList<>();
// ArrayList<Integer> example = new ArrayList<Integer>();도 가능하지만 위 방식이 선호된다.
example.add("1"); // 에러 발생
즉, Generics 방식을 사용하면 우리는 "<"와 ">"사이에 명시된 클래스 타입만 리스트에 넣을 수 있다.
2. size 메서드
size 메서드를 사용하면 ArrayList의 길이를 알 수 있다.
ArrayList<Integer> example = new ArrayList<>();
example.add(1);
example.add(2);
System.out.println(example.size()); // 결과: 2
3. contains 메서드
contains 메서드를 사용하면 리스트 안에 해당 항목이 있는지 확인할 수 있다. 반환 결과는 boolean 타입이다.
ArrayList<Integer> example = new ArrayList<>();
example.add(1);
example.add(2);
System.out.println(example.contains(1)); // 결과: true
System.out.println(example.contains("1")); // 결과: false
4. remove 메서드
remove 메서드를 사용하면 원하는 항목을 삭제할 수 있다. 이때 remove 메서드에 전달되는 인자는 객체 혹은 인덱스가 될 수 있다. 먼저 객체의 경우를 살펴보자.
ArrayList<String> example = new ArrayList<>();
example.add("1");
example.add("2");
example.add("1");
System.out.println(example.remove("1"));
System.out.println(example); // 결과 [1, 1]
아래와 같이 삭제할 객체를 remove에 넘겨주면 해당하는 객체 중 가장 앞에 있는 원소를 삭제한다. 만약 아래와 같이 인자로 인덱스를 넘겨주면 원하는 인덱스에 해당하는 객체를 삭제한다.
ArrayList<String> example = new ArrayList<>();
example.add("1");
example.add("2");
example.add("1");
example.remove(1);
System.out.println(example); // 결과: [2, 1]
5. ArrayList 정렬
ArrayList를 정렬하기 위해서는 sort 메서드를 사용한다. 이때 정렬 기준을 인자로 전달해야 하는데 이때 먼저 Comparator를 아래와 같이 import해야 한다.
import java.util.Comparator;
이때 오름차순 혹은 내림차순으로 정렬하려 할 때 다음과 같은 인자를 sort 메서드에 넘겨줘야 한다.
- 오름차순: Comparator.naturalOrder()
- 내림차순: Comparator.reverseOrder()
만약 아무런 인자도 주지 않고 null을 준다면 오름차순으로 정렬한다.
ArrayList<String> example = new ArrayList<>();
example.add("2");
example.add("1");
example.sort(null);
System.out.println(example); // 결과: [1, 2]
example.sort(Comparator.naturalOrder());
System.out.println(example); // 결과: [1, 2]
example.sort(Comparator.reverseOrder());
System.out.println(example); // 결과: [2, 1]
'Java' 카테고리의 다른 글
[Java] Array (0) | 2023.01.30 |
---|---|
[Java] Date to String & String to Date [SimpleDateFormat] (0) | 2023.01.18 |
[Java] Eclipse 설치 및 인코딩 설정 (0) | 2022.11.18 |
[Java] JDK 환경설정 (0) | 2022.11.18 |
[Java] JDK 다운로드 및 설치 (0) | 2022.11.18 |