generic.list가 배열보다 느린 이유는 무엇입니까?일반 목록과 배열 비교
답변
일반적인 목록은 배열보다 약간 느리지 만 대부분의 경우 알지 못합니다. 대체로 좀 더 복잡한 조회와 관련이 있습니다. 목록은 "내부적으로"배열을 사용한다고하지만, 배열에서 인접한 메모리에 노드를 유지하는 것이 보장되지는 않습니다.
그러나 2005 년에 벤치 마크 결과를 보았습니다. (지금 링크를 찾을 수 없습니다) 차이점은 입니다. 매우입니다.
또한 목록에는 배열에 비해 몇 가지 중요한 이점이 있습니다. 주로 항목을 추가하거나 제거하는 것이 간단합니다. 얼마나 많은 항목을 필요로하는지, 또는 그 수가 달라지는 지 알지 못할 때 목록을 사용하는 것이 훨씬 쉽습니다. 이러한 경우 (솔직히 말해서 일 때 대부분 ) 이 아니고은 배열을 사용해야합니다.
읽기 성능의 측면에서좋은 답변, 충분한 점수가 있기 때문에 질문을 편집 할 수 있습니다. –
원래 의미가 무엇인지 충분히 확신하지 못했습니다. 그래, 나는 대답을 제공 했으니 이상하게 보일지 모르지만 잠재적으로 잘못된 대답을 주면 편집과 같은 질문이 파기되지 않는다. –
글쎄, 메인 데이터 블록 (배열)은 인접 해있을 것이다. 그러나 동의한다. 아마도리스트
, 두 가지 요인이 있습니다 :
- 추가 역 참조 (즉,
List<T>
는T[]
필드를 포함하고, 역 참조에있다) - 는 사용할 수 없습니다
T[]
존재 일부 컴파일러 최적화 - 같은 제거 범위는
그러나 루프 동안 검사로는, 스파링을 유지하기 때문에 특히, List<T>
에 추가하는 것이 훨씬 더 쉽다 즉, 단일 요소를 추가하기 위해 전체 배열의 크기를 조정하거나 블리트 할 필요가 없습니다.
- 1. 파일을 변수 목록과 비교 AWK
- 2. 속성 목록과 iPhone의 XML 비교
- 3. 람다 식 내부 목록과 비교
- 4. 일반 목록의 항목 비교 방법
- 5. 여러 (수백만) 배열 비교/차이점
- 6. 일반 힙의 비교 연산자
- 7. 일반 목록 유형 비교
- 8. 일반 목록의 요소 비교
- 9. android의 확장 가능 목록과 일반 listView의 조합
- 10. PHP의 다차원 배열 비교
- 11. PHP 배열 비교
- 12. 배열 형식 비교
- 13. 배열 비교 및 정렬
- 14. 복제본 길이 배열 비교
- 15. 동적 배열 비교
- 16. 두 배열 비교
- 17. ActionScript 배열 비교
- 18. 문자열과 배열 비교
- 19. 바이트 배열 비교
- 20. 두 개의 배열 비교
- 21. 배열 : 계수, 비교 및
- 22. 빠른 배열 비교 char?
- 23. 자바 스크립트의 배열 비교
- 24. 두 배열 값 비교
- 25. PHP 배열 비교
- 26. 유사성을위한 문자열 배열 비교
- 27. Java 배열 비교
- 28. 마스킹과 바이트 배열 비교
- 29. 객체 배열 비교
- 30. 연관 배열을 표준 배열 값과 비교 PHP
문법? 너는 의문의 여지가 거의 없다. –
왜 시도하지 않습니까? – TcKs
아마 영어가 아닌 사람에게 여유를 주어야 할 것입니다. –