Arraylist 또는 LinkedList에서 요소를 제거하는 것이 더 효율적입니까?

StackOverflow https://stackoverflow.com/questions/1035107

  •  10-07-2019
  •  | 
  •  

문제

이론적으로, 요소를 ArrayList 또는 a LinkedList?

도움이 되었습니까?

해결책

그것들을 LinkedList, an에서 제거하기 때문에 ArrayList 모든 후속 요소를 목록의 새로운 위치로 옮기는 것이 필요합니다. 배열의 모든 후속 요소에는 새 값이 할당되어야합니다. 링크 된 목록의 경우 하나의 포인터 (또는 이중 연결 목록이있는 2 개) 만 재 할당해야합니다.

다른 팁

글쎄, (이중-연결된) 목록에서 요소를 제거하는 것은 O (1)입니다. 그러나 배열에서 제거하려면 나머지 요소가 배열의 한 공간, 즉 O (n)의 한 공간 아래로 이동해야합니다.

즉, 인덱스별로 목록에서 특정 요소를 얻는 것은 O (n)이며, 인덱스별로 특정 요소를 얻는 것은 O (1)입니다.

따라서 실제 제거를 위해 LinkedList가 더 좋습니다. 배열 대 링크드 목록에 대한 추가 정보가 있습니다 여기.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top