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

Java에서 ArrayList를 함수 인수로 전달하는 방법 – 예제 코드로 완벽 이해

이 글에서는 Java에서 ArrayList를 함수의 인수(argument)로 전달하는 방법을 단계별로 알아봅니다.

ArrayList 클래스는 크기가 자동으로 늘어나고 줄어드는 동적 배열(resizable array)로, java.util 패키지에 포함되어 있습니다. 일반 배열과 ArrayList의 가장 큰 차이점은 다음과 같습니다.

  • 일반 배열: 선언 시 크기가 고정되며 이후 변경할 수 없습니다.
  • ArrayList: 요소를 추가하거나 삭제할 때마다 크기가 유동적으로 변합니다.

함수에 ArrayList를 인수로 넘기면 하나의 데이터를 여러 메서드에서 재사용할 수 있어 코드 중복을 줄이고 프로그램 구조를 훨씬 깔끔하게 유지할 수 있습니다.

실행 결과 미리 보기

프로그램을 실행하면 다음과 같은 출력을 얻습니다.

The list is defined as:
Java Python Scala Mysql Redshift

알고리즘

Step 1 - START
Step 2 - java.util.ArrayList 패키지를 임포트한다.
Step 3 - ArrayList 객체를 생성하고 'add' 메서드로 요소를 추가한다.
Step 4 - ArrayList를 매개변수로 받는 사용자 정의 메서드를 작성한다.
Step 5 - main 메서드에서 해당 메서드를 호출하면서 ArrayList를 인수로 전달한다.
Step 6 - for-each 루프로 리스트를 순회하며 콘솔에 출력한다.
Step 7 - STOP

예제 1: 문자열(String) ArrayList 순회

다음 예제에서는 문자열 타입의 ArrayList를 함수에 전달하고, for-each 루프로 요소를 하나씩 순회하며 출력합니다.

import java.util.ArrayList;
public class Demo {
   public static void print(ArrayList<String> input_list) {
      System.out.print("\nThe list is defined as:\n ");
      for(String language : input_list) {
         System.out.print(language + " ");
      }
   }
   public static void main(String[] args) {
      System.out.println("The required packages have been imported");
      ArrayList<String> input_list = new ArrayList<>();
      input_list.add("Java");
      input_list.add("Python");
      input_list.add("Scala");
      input_list.add("Mysql");
      input_list.add("Redshift");
      print(input_list);
   }
}

출력 결과

The required packages have been imported

The list is defined as:
Java Python Scala Mysql Redshift

예제 2: 정수(Integer) ArrayList 순회

이번에는 정수 타입의 ArrayList를 함수에 전달하는 예제입니다. 제네릭 타입만 바꾸면 어떤 타입의 리스트든 동일한 패턴으로 처리할 수 있다는 점이 핵심입니다.

import java.util.ArrayList;
public class Demo {
   public static void print(ArrayList<Integer> input_list) {
      System.out.print("\nThe list is defined as:\n ");
      for(Integer element : input_list) {
         System.out.print(element + " ");
      }
   }
   public static void main(String[] args) {
      System.out.println("The required packages have been imported");
      ArrayList<Integer> input_list = new ArrayList<>();
      input_list.add(10);
      input_list.add(20);
      input_list.add(30);
      input_list.add(40);
      input_list.add(50);
      print(input_list);
   }
}

출력 결과

The required packages have been imported

The list is defined as:
10 20 30 40 50

핵심 정리

  • ArrayList는 java.util 패키지의 동적 배열 클래스로, 일반 배열과 달리 크기 변경이 가능합니다.
  • 함수에 전달할 때는 매개변수 타입을 ArrayList<타입> 형태로 선언하면 됩니다.
  • for-each 루프를 활용하면 리스트의 모든 요소를 간결하게 순회할 수 있습니다.
  • 제네릭 타입만 교체하면 String, Integer 등 어떤 타입의 리스트도 같은 방식으로 처리할 수 있습니다.