|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
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 의 멤버입니다.
|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.