Java에서 목록과 배열 목록의 차이점

Zeeshan Afridi 2023년10월12일
  1. 수집 프레임워크
  2. 자바로 나열
  3. Java의 ArrayList
  4. Java에서 List와 ArrayList의 차이점
Java에서 목록과 배열 목록의 차이점

ArrayListList는 Java의 Collection 프레임워크의 구성원이며 여기서 ArrayList는 클래스이고 List는 인터페이스입니다. Collection 프레임워크의 도움으로 개체 그룹에서 삭제, 삽입, 정렬, 조작 및 검색과 같은 다양한 작업을 수행할 수 있습니다.

수집 프레임워크

Java의 Collection 프레임워크에는 다음과 같은 인터페이스 및 클래스 세트가 있습니다.

상호 작용:

1 세트
2. 대기열
3. 목록
4. 데크

클래스:

  1. 어레이리스트
  2. 벡터
  3. 링크드리스트
  4. 해시셋
  5. 트리셋
  6. LinkedHashSet
  7. 우선순위 대기열

Collection 프레임워크에는 다양한 클래스와 인터페이스가 있지만 이 기사에서는 ListArrayList에만 초점을 맞추므로 예를 들어 각각에 대해 설명하겠습니다.

자바로 나열

Java에서 List는 Collection 프레임워크에 속합니다. 단일 단위로 표시되는 정렬된 개체 그룹입니다.

이기종 유형의 데이터를 목록에 저장하고 목록 요소의 인덱스를 기반으로 데이터에 액세스할 수 있습니다. Java의 목록에서 삭제, 삽입, 업데이트 및 검색과 같은 다양한 작업을 수행할 수 있습니다.

List 인터페이스는 java.util 패키지에서 찾을 수 있습니다. Collection 인터페이스를 상속합니다.

LinkedList, Stack, ArrayListVector 클래스를 구현합니다. 목록을 앞뒤 방향으로 반복할 수 있습니다.

package articlecodesinjava;

import java.util.ArrayList;
import java.util.List;

class TestingList {
  public static void main(String[] args) {
    List<String> list = new ArrayList<>(); // List object
    list.add("Successfully created a list in Java"); // adding a string to the List
    System.out.println(list);
  }
}

출력:

[Successfully created a list in Java]    //The output is in List form

Java의 내장 목록 메서드

Java에서 목록에는 특정 방법이 여러 개 있습니다. 이들은 다른 목적으로 사용됩니다. 가장 인기 있고 빈번한 것은 다음과 같습니다.

package articlecodesinjava;

import java.util.*;

class TestingList {
 public static void main(String[] args) {
   List<Object> list = new ArrayList<>();

   list.add(1); // Adding values in list
   list.add(2);
   System.out.println("List after adding values " + list);

   list.removeAll(list); // return and empty list, all values are erased
   System.out.println("List after the removeAll method " + list);

   list.add("3"); // Adding values in list
   list.add("4");
   System.out.println("New list " + list);

   System.out.println("The size of the List " + list.size());

   System.out.println("Return a value from the list a 1 position " + list.get(1));
   System.out.println("Removing value at position 1 = " + list.remove(1));
   System.out.println("Final list" + list);
 }
}

출력:

List after adding values [1, 2]
List after the removeAll method []
New list [3, 4]
The size of the List 2
Return a value from the list a 1 position 4
Removing value at position 1 = 4
Final list[3]

먼저 위 프로그램에서 ListArrayList에 액세스하기 위해 java.util.* 패키지를 가져왔습니다. 그런 다음 목록을 만들고 목록의 객체로 먼저 add()로 일부 값을 채운 다음 removeAll()로 목록에서 모든 데이터를 제거하여 빈 목록을 반환했습니다.

또한 목록에서 일부 다른 작업을 수행하기 위해 목록에 일부 값을 다시 추가했습니다. size()로 목록의 크기를 찾았고 get(1)으로 위치/인덱스 1번 값을 표시했으며 마지막에 remove(1).

이 목록에는 수많은 내장 방법이 있습니다. 자세한 내용은 Java 공식 사이트에서 확인할 수 있습니다.

Java의 ArrayList

Java에서 ArrayList는 기존 배열의 고급 버전입니다. 전통적인 어레이는 크기가 고정되어 있어 어레이의 크기를 늘리거나 줄일 수 없었습니다.

따라서 Collection 프레임워크는 ArrayList라는 동적 배열을 제공합니다. ArrayList 클래스는 목록에서 요소를 추가 및 제거할 때 크기를 확장 및 축소할 수 있는 동적 배열입니다.

AbstractList 클래스를 상속하고 List 인터페이스를 구현하여 모든 List 인터페이스 메서드를 사용합니다. 목록 요소의 인덱스를 통해 요소에 액세스할 수 있습니다.

ArrayList는 char, int, float 등과 같은 기본 데이터 유형을 지원하지 않습니다. 그러나 이러한 경우에는 래퍼 클래스를 사용합니다.

package articlecodesinjava;

import java.util.ArrayList;

class TestingArrayList {
  public static void main(String[] args) {
    ArrayList<String> arrayList = new ArrayList<>(); // ArrayList object
    arrayList.add("Successfully created an arrayList in Java"); // adding a string to the ArrayList
    System.out.println(arrayList);
  }
}

출력:

[Successfully created an arrayList in Java]

Java의 내장 ArrayList 메서드

ArrayListList를 구현한 AbstractList를 확장하므로 ArrayList에서 List의 모든 메서드를 사용할 수 있습니다.

아래 예를 참조하십시오. ArrayList에서 동일한 방법으로 위의 모든 프로그램을 사용합니다.

코드 예:

package articlecodesinjava;

import java.util.*;

class TestingArrayList {
  public static void main(String[] args) {
    ArrayList arrayList = new ArrayList<>();

    arrayList.add(1); // Adding values in ArrayList
    arrayList.add(2);
    System.out.println("ArrayList after adding values " + arrayList);

    arrayList.removeAll(arrayList); // return and empty ArrayList, all values are erased
    System.out.println("ArrayList after the removeAll method " + arrayList);

    arrayList.add("3"); // Adding values in ArrayList
    arrayList.add("4");
    arrayList.add(0, 5);

    System.out.println("New ArrayList " + arrayList);

    System.out.println("The size of the ArrayList " + arrayList.size());

    System.out.println("Return a value from the ArrayList at 1 position " + arrayList.get(1));

    System.out.println("Removing value at position 1 = " + arrayList.remove(1));
    System.out.println("Final ArrayList" + arrayList);
  }
}

출력:

ArrayList after adding values [1, 2]
ArrayList after the removeAll method []
New ArrayList [5, 3, 4]
The size of the ArrayList 3
Return a value from the ArrayList at 1 position 3
Removing value at position 1 = 3
Final ArrayList[5, 4]

Java에서 List와 ArrayList의 차이점

다음은 Java에서 ListArrayList의 주요 차이점입니다.

목록

  1. 목록은 인터페이스입니다.
  2. List 인터페이스는 컬렉션 프레임워크를 확장합니다.
  3. 인스턴스화할 수 없습니다.
  4. 개체 목록을 만듭니다.
  5. 목록은 객체 조작이 더 빠릅니다.

배열목록

  1. ArrayList는 표준 컬렉션 클래스입니다.
  2. ArrayListList 인터페이스를 구현하는 AbstractList를 확장합니다.
  3. 인스턴스화할 수 있습니다.
  4. 개체 배열을 만듭니다.
  5. ArrayLists는 List에 비해 개체 조작이 빠르지 않습니다.
Zeeshan Afridi avatar Zeeshan Afridi avatar

Zeeshan is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.

LinkedIn

관련 문장 - Java List

관련 문장 - Java ArrayList