2014-12-18 2 views
-1

추가 할 때 LinkedList에 필적하는 Builder 패턴을 구현하려고 할 때 ArrayList와 비교할 수 있습니다.ArrayList-add/Array-List Builder가 ArrayList보다 빠를 수있는 시점은 언제입니까?

함수 f()가 "(int) (Math.random() * ((len) + 1))"로 선택되고 N이 100000으로 선택된 경우 구현은 (그리고 둘 다 LinkedList보다 약 1000 배 빠름).

그럼, 누구든지이 문제를 해결할 수있는 조언을 주시겠습니까? 내 구현을 재고하거나 요구 사항을 충족하는 함수 f()를 찾아서?

+4

arrayList를 내부적으로 사용하면 사용자 지정 목록을 ArrayList 자체보다 빠르게 만들려고합니까? – SMA

+0

그래, add에 arrayList를 사용하고 있는데, 그 전에 array로 변환한다. 그래서 get은 여전히 ​​더 빠를 것입니다. – aerugo

+0

저도 이상하게 들리셨어요, @almas! – ederpsampaio

답변

3

ArrayList를 Array로 변환하면 시간이 소모되어 구현이 최적화되지 않습니다. 또한 ArrayList의 구현은 Array에 직접 기반하고 get 메서드는 O (1)입니다.

ArrayList보다 빠르게 처리하려면 고유 한 클래스를 코딩해야합니다.

관련 문제