Computer >> 컴퓨터 >  >> 프로그래밍 >> Java

Java ArrayList에서 첫 번째 요소와 마지막 요소 가져오는 방법

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() 메서드 등으로 리스트가 비어 있지 않은지 먼저 확인하는 것이 안전합니다.