많은 List 구현에는 컬렉션의 초기 용량을 지정할 수있는 옵션이 있습니다. CopyOnWriteArrayList은 왜 허용되지 않습니까?CopyOnWriteArrayList의 초기 용량
2
A
답변
7
종래의 ArrayList
에서 용량은 나중에 더 많은 요소가 목록에 추가 될 수 있도록 더 많은 공간을 보조 배열에 예약하는 힌트입니다.
CopyOnWriteArrayList
에서 모든 (원자) 쓰기 작업은 새로운 백업 배열을 만듭니다. 이 공간을 사용하지 않기 때문에 현재 목록 크기보다 큰 배열을 미리 할당 할 필요가 없습니다.
+0
고마워, 일반적으로 말이 되네. 대규모 컬렉션 작업을 할 때 더 큰 용량을 할당하여 성능 향상을 기대했습니다. 분명히, 이것은 데이터 구조의 잘못된 선택 일 것입니다 (빈번한 쓰기를 위해) – vsnyc
+0
* 분명히, 이것은 (빈번한 쓰기를 위해) 사용하는 데이터 구조의 잘못된 선택 일 것입니다 * - 절대적으로 맞습니다! –
관련 문제
- 1. 초기 용량
- 2. ByteBuf 초기 용량 크기
- 3. 초기 용량 <Integer>
- 4. HashMap 16의 초기 용량 (2의 거듭 제곱)과 Hashtable 11의 초기 용량 (소수)이 왜 다른가요?
- 5. StringBuilder의 가장 효율적인 초기 용량 크기는 무엇입니까?
- 6. 다른 언어의 초기 목록 용량 비교가 있습니까?
- 7. CopyOnWriteArrayList의 C++ 버전
- 8. 배열 용량
- 9. StringBuffer와 용량()
- 10. Maria DB 권장 RAM, 디스크, 코어 용량?
- 11. Android 배터리의 현재 용량 (mA) 및 총 배터리 용량 (mAh)
- 12. MySQL의 용량 보고서
- 13. 전역 EhCache 용량 지정
- 14. Android 내부 저장 용량
- 15. Delphi - TStack 용량 혼동
- 16. RAM의 메모리 용량
- 17. 일반 텍스트 파일의 용량
- 18. Tcl 변수의 저장 용량
- 19. 개발자 용량 계획
- 20. 그라인더를 이용한 용량 테스트
- 21. stl 벡터의 용량 줄이기
- 22. MySQL UTF 텍스트 용량
- 23. iPhone 배터리 용량 (mAH)
- 24. CouchBase 최대 DB 용량
- 25. NSMutableData initWithCapacity 불합리한 용량?
- 26. 용량 스케줄러 큐 문제
- 27. 수신 포트 용량
- 28. 루비의 배열 용량 제한
- 29. 장고 텍스트 필드 용량?
- 30. iPhone 최대 용량
왜 필요하다고 생각하십니까? –
매번 새로운 복사본을 제공하기 때문에 연산이 비싸다는 것을 알지만 이전에는 생성자를 자세히 살펴 보지 않았습니다. 이 [답변] (http://stackoverflow.com/a/39453595/2063026) 나는 이것이 가능하지 않다는 생각이 들었다. 'CopyOnWriteArrayList'는 대규모 콜렉션에서 동작하는 병렬 스트림에서 사용하기에는 매우 좋지 않은 선택입니다. – vsnyc