기록공간

[자료구조] Arrays List의 개념 및 사용 방법 (JAVA) 본문

자료구조

[자료구조] Arrays List의 개념 및 사용 방법 (JAVA)

mkm101 2023. 3. 21. 15:33
반응형
목차

1. ArrayList 소개

2. ArrayList 클래스 사용방법

3. ArrayList 사용 예시

 

1. ArrayList 소개

 

ArrayList는 배열 요소들을 저장하는 구조로, 배열과 유사하지만 동적으로 메모리를 할당할 수 있어 일반 배열 (Array)에 비해 필요에 따라 ArrayList의 크기를 변경할 수 있다는 이점이 있습니다.

 

장점 :

1. ArrayList는 일반배열에 비해  동적으로 메모리 크기를 늘릴 수 있다는 장점이 있습니다.

동적으로 메모리 크기를 늘리는 모습

 

2. 또 다른 장점으로는 일반 배열과 달리 인덱스로 요소에 한번에 접근(탐색)할 수 있다는 것입니다.

Java에서 제공하는 ArrayList 클래스에서 제공하는 삽입,삭제 메소드를 사용하면, 배열요소를 쉽게 삽입하거나 삭제할 수 있을 뿐만 아니라 각 인덱스별로 요소를 탐색할 수 있다는 장점이 있습니다. 

  (시간복잡도 = O(1)) 

크기 5인 배열리스트 선언 후 삽입 및 삭제의 메모리 할당 모습

 

단점 :

1.  목록의 시작 부분에서 요소를 삽입하거나 제거하면 변경 사항을 수용하기 위해 목록의 다른 모든 요소를 ​​이동해야 하므로 속도가 느릴 수 있습니다. 또한 ArrayList는 특히 성능 및 메모리 사용에 영향을 줄 수 있는 대규모 Data set의 경우 상당한 양의 메모리를 사용할 수 있습니다.

 

2. 메모리 소비: ArrayList는 특히 성능 및 메모리 사용량에 영향을 줄 수 있는 대규모 데이터 세트의 경우 상당한 양의 메모리를 소비할 수 있습니다.

 

3. 제한된 데이터 유형: ArrayList는 객체만 저장할 수 있습니다. 즉, 기본 데이터 유형은 ArrayList에 저장되기 전에 해당 Wrapper 객체로 변환되어야 합니다. 

 

(Ex : int, double, float, long 같은 유형의 자료형은 primitive type이기 때문에 안됨.  Integer, Double등 자료형을 클래스로 감싸주는 것을 사용해야함)

Ex:  ArrayList<Integer> intList = new ArrayList<Integer>();

       ArrayList<Double> doubleList = new ArrayList<Double>();

       ArrayList<String> StringList = new ArrayList<String>();

 

 

2. ArrayList 클래스 사용방법

1. ArrayList 객체 생성방법.

 ArrayList<객체 자료형> 변수명 = new ArrayList<객체 자료형>();

   ArrayList<Integer> intList = new ArrayList<Integer>(); 

 

자료형 : Integer

 

2. 생성후, 데이터 삽입, 삭제 ,값 얻기 등 메소드 사용 방법

 

intList.add(element)  : ArrayList의 끝에 element 값을 추가

intList.add(index, element) : ArrayList의 지정된 index에 Element 삽입intList.

remove(index) : ArrayList에서 지정된 index의 위치의 Element 제거

intList.get(index) : ArrayList에서 index에 저장된 element 반환

intList.set(index,element): 지정된 index에 있는 Element 요소를  대체함.

intList.size() : ArrayList의 element 수를 반환

intList.indexOf(element) : ArrayList에서 Element가 처음으로 나타나는 Index를 반환

intList.clear() : ArrayList에서 모든요소 제거

intList.toArray() : ArrayList의 모든요소를 포함하는 배열을 반환

 

 

 

3. ArrayList 사용예시

import java.util.ArrayList; // ArrayList Class import

public class ArrayListExample {
  public static void main(String[] args) {
    // Integer Type의 ArrayList 생성
    ArrayList<Integer> myList = new ArrayList<Integer>();
    
    // 배열에 값 추가하기
    myList.add(10);
    myList.add(20);
    myList.add(30);
    
    // ArrayList Index에 접근하여, 값 출력하기
    System.out.println("Element at index 0: " + myList.get(0));
    System.out.println("Element at index 1: " + myList.get(1));
    System.out.println("Element at index 2: " + myList.get(2));
  }
}

 

 

출력화면

반응형

'자료구조' 카테고리의 다른 글

자료구조(Data Structure) 개념 및 종류  (0) 2023.03.21