LinkedList vs ArrayList in Java : 주요 차이점 파악



이 LinkedList 대 ArrayList 기사는 목록 인터페이스를 구현하는 목록 간의 적절한 비교를 제공합니다.

명부 Java의 하위 인터페이스는 위치 접근, 반복 등과 같은 개념으로 최적의 솔루션을 제공합니다. 이 기사에서는 목록 인터페이스 LinkedList와 Java의 ArrayList 간의 주요 차이점에 대해 설명합니다.

이 기사에서 다루는 주제는 다음과 같습니다.





의 시작하자!

LinkedList 란 무엇입니까?

배열 , 두 번째로 많이 사용되는 데이터 구조는 확실히 . 연결 목록은 다음으로 구성된 선형 데이터 구조입니다.각 노드가 값을 포함하고있는 노드 체인바늘체인의 다음 노드로 이동합니다.또한, t연결된 목록의 마지막 링크는 null을 가리키며 체인의 끝을 나타냅니다.연결 목록의 요소를 마디 .목록의 첫 번째 노드는 머리 .마지막 노드는 꼬리 .



이에 대한 간단한 예를 들어 보겠습니다. 서로 연결된 종이 클립 체인을 상상해보십시오. 상단 또는 하단에 다른 클립을 쉽게 추가 할 수 있습니다. 중간에 삽입하기도 쉽습니다. 당신이해야 할 일은 중간에있는 사슬을 끊고 새 클립을 추가 한 다음 나머지 절반을 다시 연결하는 것입니다. 연결 목록은 이와 유사합니다.

예:

package MyPackage import java.util.LinkedList import java.util.ListIterator public class linkedlist {public static void main (String args []) {/ * Linked List Declaration * / LinkedListl_list = new LinkedList () / * add (String Item) is * 링크 된 목록에 항목을 추가하는 데 사용 * / l_list.add ( 'Java') l_list.add ( 'Python') l_list.add ( 'Scala') l_list.add ( 'Swift') System.out.println ( '연결된 목록 내용 :'+ l_list) / * 지정된 위치에 항목 추가 * / l_list.add (2, 'JavaScript') l_list.add (3, 'Kotlin') System.out.println ( 'l_list 편집 후 내용 : '+ l_list) / * 첫 번째 및 마지막 항목 추가 * / l_list.addFirst ('첫 번째 과정 ') l_list.addLast ('마지막 과정 ') System.out.println ('l_list 추가 후 콘텐츠 : '+ l_list) / * Get 및 목록의 항목 설정 * / Object firstvar = l_list.get (0) System.out.println ( 'First Item :'+ firstvar) l_list.set (0, 'Java9') System.out.println ( 'l_list Content 첫 번째 항목을 업데이트 한 후 : '+ l_list) / * 위치에서 제거 * / l_list.remove (1) l_list.remove (2) System.out.println ( '두 번째 및 세 번째 위치에서 항목 삭제 후 LinkedList'+ l_list) / * 첫 번째 및 마지막 항목 제거 * / l_list.removeFirst () l_list.removeLast () System.out.println ( '첫 번째 및 마지막 항목 제거 후 최종 내용 : '+ l_list) / * 연결된 목록 반복 * / ListIteratoritrator = l_list.listIterator () System.out.println ('반복자를 사용하여 표시되는 목록 : ') while (itrator.hasNext ()) {System.out.println (itrator .다음()) } } }

산출:



Linked List Content = {Java, Python, Scala, Swift} 편집 후 콘텐츠 = {Java, Python, JavaScript, Kotlin, Scala, Swift} 추가 후 콘텐츠 = {First Course, Java, Python, JavaScript, Kotlin, Scala, Swift, 마지막 과정} 첫 번째 항목 = {첫 번째 과정} 첫 번째 항목 업데이트 후 콘텐츠 = {Java9, Java, Python, JavaScript, Kotlin, Scala, Swift, Last Course} 두 번째 및 세 번째 위치에서 항목 삭제 후 콘텐츠 = {Java9, Python, Kotlin, Scala, Swift, Last Course} 첫 번째와 마지막 항목을 제거한 후 최종 콘텐츠 = {Python, Kotlin, Scala, Swift} 반복자를 사용하여 표시되는 목록 = Python Kotlin Scala Swift

이제 다음 주제로 넘어가겠습니다.

ArrayList 란 무엇입니까?

요소가 해당 목록에서 동적으로 추가되거나 제거 될 수있는 목록 인터페이스의 구현입니다. 여기에서 요소가 초기 또는 실제 크기보다 더 많이 추가되면 목록의 크기가 동적으로 증가합니다. 표준 배열보다 느릴 수 있지만 배열에서 많은 조작이 필요한 프로그램에서 유용 할 수 있습니다.

LinkedList-vs-ArrayList-in-Java-Edureka

ArrayList는 다음 용도로 사용됩니다.

  • Java의 ArrayList는 저장 동적 크기의 요소 모음.
  • 크기별로 초기화됩니다. 그러나 컬렉션이 커지고 축소되면 크기가 커질 수 있습니다. .
  • 또한 ArrayList를 사용하면 목록에 무작위로 액세스 할 수 있습니다.

계속해서 Java에서 LinkedList와 ArrayList의 유사점을 지적 해 보겠습니다.

LinkedList와 ArrayList의 유사점

이것은 Java에서 LinkedList와 ArrayList의 주목할만한 유사점입니다.

  • ArrayList 및 LinkedList는 목록 인터페이스 .
  • ArrayList와 LinkedList는 모두 요소의 삽입 순서를 유지합니다. 즉, List 요소를 표시하는 동안 결과 집합은 요소가 List에 삽입 된 순서와 동일합니다.
  • TheseArrayList 및 LinkedList 클래스는 동기화되지 않으며 다음을 사용하여 명시 적으로 동기화 할 수 있습니다. 컬렉션 SynchronizedList 방법.
  • 이 클래스에 의해 반환되는 반복기와 ListIterator는 실패하지 않습니다. 즉, 반복기가 생성 된 후 주어진 시간에 목록이 구조적으로 수정되면이터레이터의 자체 제거 또는 추가 메서드 인 경우 이터레이터는 ConcurrentModificationException .

LinkedList와 ArrayList의 차이점

먼저 Java에서 LinkedList와 ArrayList를 비교하기위한 매개 변수를 살펴 보겠습니다.

Java에서 LinkedList와 ArrayList를 비교할 매개 변수 :

  • 조작
  • 이행
  • 방법
  • 기억
  1. 운영

항목의 삽입, 추가 및 제거 작업은 LinkedList 에서처럼 크기를 조정할 필요가 없기 때문에 ArrayList.

2. 이행

ArrayList 기반으로 동적으로 크기를 조정할 수있는 어레이의 개념 LinkedList 이중 연결 목록 구현을 기반으로합니다.

삼. 방법

LinkedList class는 List 및 Deque 인터페이스를 구현하기 때문에 목록 및 대기열로 사용할 수있는 반면 ArrayList는 List 만 구현할 수 있습니다.

네. 기억

LinkedList 보다 많은 메모리를 소비합니다. ArrayList 모든 노드는 LinkedList 두 개의 참조를 저장하는 반면 ArrayList 데이터와 색인 만 보유

LinkedList 대 Java의 ArrayList

매개 변수LinkedListArrayList
운영

삽입, 추가 및 제거 작업이 훨씬 빠릅니다.

상대적으로 작업여기서 느리다

예제 프로그램을 사용한 C ++의 동적 메모리 할당
이행

이중 연결 목록 구현을 따릅니다.

동적 크기 조정이 가능한 어레이의 개념을 따릅니다.

방법

LinkedList 클래스는 List 및 Deque 인터페이스를 구현하므로 목록 및 대기열이 될 수 있습니다.

ArrayList 클래스는 목록 만 구현하므로 목록이 될 수 있습니다.

기억

LinkedList의 메모리 사용량이 높습니다.

LinkedList에 비해 적음

그게 다야! 이것으로 Java의 LinkedList 대 ArrayList에 대한이 기사의 끝으로 이동합니다. 이 기사에서 가르치는 내용이 명확하기를 바랍니다.

'LinkedList vs ArrayList in Java'에서이 기사를 찾았다면 전 세계에 250,000 명 이상의 만족 한 학습자 네트워크를 보유한 신뢰할 수있는 온라인 학습 회사 인 Edureka에서 작성했습니다. 우리는 여정의 모든 단계에서 귀하를 돕기 위해 여기에 있으며 Java 개발자가 되고자하는 학생과 전문가를 위해 설계된 커리큘럼을 제공합니다.