Java의 ArrayList 클래스가 제공하는 get() 메서드는 인덱스 값을 나타내는 정수를 매개변수로 받아, 해당 인덱스에 위치한 요소를 반환합니다.
ArrayList의 인덱스는 0부터 시작하므로, 이 메서드에 0을 전달하면 리스트의 첫 번째 요소를 얻을 수 있고, list.size()-1을 전달하면 마지막 요소를 얻을 수 있습니다.
예제 1: 첫 번째 요소와 마지막 요소 가져오기
다음 예제는 문자열을 담은 ArrayList를 생성한 뒤, get() 메서드를 사용해 첫 번째 요소와 마지막 요소를 출력합니다.
import java.util.ArrayList;
public class FirstandLastElemets{
public static void main(String[] args){
ArrayList<String> list = new ArrayList<String>();
// ArrayList 객체 생성
list.add("JavaFX");
list.add("Java");
list.add("WebGL");
list.add("OpenCV");
list.add("OpenNLP");
list.add("JOGL");
list.add("Hadoop");
list.add("HBase");
list.add("Flume");
list.add("Mahout");
list.add("Impala");
System.out.println("ArrayList의 내용: \n"+list);
// 첫 번째 요소와 마지막 요소 출력
System.out.println("첫 번째 요소: "+list.get(0));
System.out.println("마지막 요소: "+list.get(list.size()-1));
}
}실행 결과
ArrayList의 내용: [JavaFX, Java, WebGL, OpenCV, OpenNLP, JOGL, Hadoop, HBase, Flume, Mahout, Impala] 첫 번째 요소: JavaFX 마지막 요소: Impala
예제 2: 최솟값과 최댓값 구하기
같은 원리를 응용하면 ArrayList의 최솟값과 최댓값도 손쉽게 구할 수 있습니다. 절차는 다음과 같습니다.
ArrayList 객체를 생성합니다.
요소를 추가합니다.
Collections 클래스의 sort() 메서드로 리스트를 오름차순 정렬합니다.
정렬 후에는 첫 번째 요소가 최솟값이 되고, 마지막 요소가 최댓값이 됩니다.
import java.util.ArrayList;
import java.util.Collections;
public class MinandMax{
public static void main(String[] args){
ArrayList<Integer> list = new ArrayList<Integer>();
// ArrayList 객체 생성
list.add(1001);
list.add(2015);
list.add(4566);
list.add(90012);
list.add(100);
list.add(21);
list.add(43);
list.add(2345);
list.add(785);
list.add(6665);
list.add(6435);
System.out.println("ArrayList의 내용: \n"+list);
// 리스트 정렬
Collections.sort(list);
System.out.println("최솟값: "+list.get(0));
System.out.println("최댓값: "+list.get(list.size()-1));
}
}실행 결과
ArrayList의 내용: [1001, 2015, 4566, 90012, 100, 21, 43, 2345, 785, 6665, 6435] 최솟값: 21 최댓값: 90012
주의 사항
리스트가 비어 있는 상태에서 get(0)이나 get(list.size()-1)을 호출하면 IndexOutOfBoundsException이 발생합니다. 따라서 실무 코드에서는 호출 전에 isEmpty() 메서드 등으로 리스트가 비어 있지 않은지 먼저 확인하는 것이 안전합니다.