개발 문서/Java

배열과 리스트: 자바에서의 활용

copg 2023. 11. 11. 02:47
728x90
반응형

배열과 리스트는 데이터를 저장하고 관리하는 데 사용되는 자료 구조입니다. 자바에서 배열과 리스트는 각각 다른 특성과 용도를 가지고 있습니다.

배열 (Array):

자바에서 배열은 고정 크기의 같은 타입의 원소들을 저장하는 자료 구조입니다. 배열의 크기는 초기에 정해지며, 크기를 변경할 수 없습니다.

// 정수형 배열 선언과 초기화
int[] intArray = {1, 2, 3, 4, 5};

// 문자열 배열 선언
String[] stringArray = new String[3];
stringArray[0] = "사과";
stringArray[1] = "바나나";
stringArray[2] = "오렌지";

배열은 각 원소에 인덱스를 사용하여 접근하며, 메모리에 연속적으로 저장되므로 빠른 접근이 가능합니다. 그러나 크기가 고정되어 있어 동적으로 크기를 조절하기 어려우며, 배열을 활용할 때에는 인덱스를 주의하여 사용해야 합니다.

리스트 (List):

자바에서 리스트는 크기가 동적으로 조절 가능하며, 다양한 타입의 원소를 저장할 수 있는 인터페이스인 java.util.List를 구현한 여러 클래스들이 있습니다. 가장 일반적으로 사용되는 클래스는 ArrayListLinkedList입니다.

// ArrayList 사용 예시
import java.util.ArrayList;

ArrayList<Integer> intList = new ArrayList<>();
intList.add(1);
intList.add(2);
intList.add(3);

// LinkedList 사용 예시
import java.util.LinkedList;

LinkedList<String> stringList = new LinkedList<>();
stringList.add("사과");
stringList.add("바나나");
stringList.add("오렌지");

리스트는 배열과 달리 크기를 동적으로 조절할 수 있고, 여러 유용한 메서드를 제공합니다. 리스트의 각 요소에는 인덱스가 부여되어 있고, 원소를 중간에 추가하거나 제거하는 등의 작업이 쉽습니다.

공통점과 차이점:

  1. 인덱스:

    • 배열과 리스트 모두 인덱스를 사용하여 원소에 접근할 수 있습니다.
  2. 크기 조절:

    • 배열은 크기가 고정되어 있어 변경이 어렵습니다.
    • 리스트는 동적으로 크기를 조절할 수 있습니다.
  3. 타입:

    • 배열은 동일한 타입의 원소만 저장할 수 있습니다.
    • 리스트는 다양한 타입의 원소를 저장할 수 있습니다.
  4. 메서드:

    • 리스트는 다양한 메서드를 제공하여 원소를 추가, 제거, 검색하는 등의 작업을 편리하게 수행할 수 있습니다.

배열과 리스트는 각각의 상황에 따라 적절하게 선택되어 사용되어야 합니다. 배열은 크기가 고정되어 있지만 간단하게 사용 가능하며, 리스트는 크기 조절이 유연하고 다양한 메서드를 활용할 수 있습니다.