JavaTM Platform
Standard Ed. 6

java.util
인터페이스 RandomAccess

기존의 구현 클래스의 일람:
ArrayList , AttributeList , CopyOnWriteArrayList , RoleList , RoleUnresolvedList , Stack , Vector


public interface RandomAccess

마커 인터페이스는, 고속의 (일반적으로는 일정시간) 랜덤 억세스를 지원하는 것을 나타내는,List 구현에 의해 사용됩니다. 이 인터페이스의 주된 목적은, 총칭 알고리즘이, 랜덤 억세스 리스트 또는 시퀸셜 액세스 리스트의 어딘가에 적용되었을 때에, 동작을 변경해, 뛰어난 퍼포먼스를 실현하는 것입니다.

랜덤 억세스 리스트 (ArrayList 등)를 조작하는데 최적인 알고리즘은, 시퀸셜 액세스 리스트 (LinkedList 등)에 적용되었을 때에 2 차 동작을 일으킬 수가 있습니다. 시퀸셜 액세스 리스트에 적용되었을 경우, 빈약한 퍼포먼스를 가져오는 알고리즘을 적용하기 전에, 총칭 리스트아르고리즘에서는, 지정된 리스트가 이 인터페이스의 instance 화도인지를 조사하는 것을 추천 되고 있습니다. 또, 허용 범위에 있는 퍼포먼스의 보증이 필요한 경우에, 그 동작을 변경하는 일도 장려되고 있습니다.

랜덤 억세스와 시퀸셜 액세스와의 구별이 많은 경우 애매하다라고 하는 것이 인정되고 있습니다. 예를 들어,List 구현은, 매우 길어도, 일정인 액세스 시간에 동작했을 경우에, 점근의 선형 액세스 시간을 실현합니다. 이러한 List 구현은, 일반적으로 이 인터페이스를 구현할 필요가 있습니다. 경험칙으로서 클래스의 전형적인 인스턴스에 관해서, 이하와 같은 루프의 경우,List 구현이 이 인터페이스를 구현할 필요가 있습니다.

for (int i=0, n=list.size(); i < n; i++)
list.get(i);
 
이하와 같은 루프보다 신속히 실행됩니다.
for (Iterator i=list.iterator(); i.hasNext(); )
i.next();
 

이 인터페이스는,Java Collections Framework 의 멤버입니다.

도입된 버젼:
1.4


JavaTM Platform
Standard Ed. 6

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.