성능면에서 Array 대 ArrayList
이 질문에 이미 답변이 있습니다.
Object 유형의 Array와 Object 유형의 ArrayList 간의 성능이 더 좋은 것은 무엇입니까?
Animal
객체 배열 Animal animal[]
및 배열 목록이 있다고 가정합니다 .ArrayList list<Animal>
지금 나는하고 animal[10]
있으며 list.get(10)
어느 것이 더 빨라야하며 왜?
나중에 내부적으로 동일한 호출을 수행하지만 함수 호출과 추가 검사에 대한 오버 헤드를 추가하므로 array [10]이 array.get (10)보다 빠릅니다.
그러나 최신 JIT는 성능이 매우 중요한 애플리케이션이 있고 이것이 병목 현상으로 측정되지 않는 한 이에 대해 거의 걱정할 필요가 없을 정도로이를 최적화합니다.
에서 여기 :
ArrayList는 Java의 Array에 의해 내부적으로 지원되며 ArrayList의 크기 조정 작업은 새 Array를 만들고 이전 배열에서 새 배열로 콘텐츠를 복사하는 것과 관련되어 성능이 저하됩니다.
성능면에서 Array와 ArrayList는 index를 알고 있으면 요소를 추가하거나 가져 오는 일정한 시간 측면에서 유사한 성능을 제공합니다 . ArrayList의 자동 크기 조정으로 인해 삽입 속도가 약간 느려질 수 있지만 Array와 ArrayList는 모두 Java의 핵심 개념이며 모든 심각한 Java 프로그래머는 Array와 ArrayList 또는보다 일반적인 Array와 List의 차이점에 대해 잘 알고 있어야합니다.
Array 또는 ArrayList를 사용하기로 결정할 때 첫 번째 본능은 성능이 다르지만 성능에 대해 걱정할 필요가 없습니다. 첫 번째 관심사는 어레이의 크기를 미리 알고 있는지 여부입니다. 그렇지 않으면 당연히 기능만을 위해 배열 목록을 사용하게됩니다.
나는 누군가가 최근에 삭제 한 포스트에 동의한다. 성능의 차이가 너무 작아서 거의 예외를 제외하고는 (그는 절대로 말하지 않는다는 이유로) 당신은 그것을 기반으로 디자인 결정을 내리지 말아야한다.
요소가 개체 인 예에서 성능 차이는 최소화되어야합니다.
많은 수의 기본 요소를 다루는 경우 배열은 메모리와 시간 모두에서 훨씬 더 나은 성능을 제공합니다.
어레이는 성능면에서 더 좋습니다. ArrayList는 성능을 희생하면서 "제거"와 같은 추가 기능을 제공합니다.
참조 URL : https://stackoverflow.com/questions/19389609/array-vs-arraylist-in-performance
'programing' 카테고리의 다른 글
컴퓨터가 도메인에 가입되어 있는지 감지하는 방법은 무엇입니까? (0) | 2020.12.28 |
---|---|
Twitter 부트 스트랩 축소 : 토글 버튼 표시 변경 (0) | 2020.12.27 |
Swift에서 where in if let 할당 사용 (0) | 2020.12.27 |
사운드 믹싱 알고리즘 (0) | 2020.12.27 |
std :: max 호출 문제 (0) | 2020.12.27 |