add(); remove(); clear(); iterator();
메서드에 HashSet을 사용합니다. 지금까지 모든 것이 매력처럼 작동했습니다. 그러나 이제는 다른 요구 사항을 충족해야합니다.HashSet 용 무작위 시작 인덱스 반복기
특정 인덱스에서 반복을 시작할 수 있기를 바랍니다. 예를 들어, 다음과 같은 두 개의 프로그램이 동일한 출력을 가지길 원합니다.
프로그램 1
Iterator it=map.iterator();
for(int i=0;i<100;i++)
{
it.next();
}
while (it.hasNext())
{
doSomethingWith(it.next());
}
프로그램이
Iterator it=map.iterator(100);
while (it.hasNext())
{
doSomethingWith(it.next());
}
내가 프로그램 1을 사용하지 않는 이유는 불필요한 오버 헤드를 생성한다는 것이다. 필자의 연구에서 시작 인덱스를 가진 반복자를 만드는 실용적인 방법을 찾지 못했습니다.
내 질문에, 오버 헤드를 최소화하면서 목표를 달성하기위한 좋은 방법은 무엇입니까?
감사합니다.
어떤 종류의 데이터 구조를 사용 하시겠습니까? – Xorty
위에 나열된 작업을 지원하는 한 데이터 구조는 중요하지 않습니다. 그러나, 나는 그것을 단순 ArrayList보다 빠르다 (덜 복잡하다) 싶다. –