【发布时间】:2018-02-17 12:08:44
【问题描述】:
我应该实现一个迭代器,它以随机顺序返回一个迭代器。这是我现在尝试做的:
private class RandomQueueIterator<E> implements Iterator<E> {
int i = -1;
public boolean hasNext() {
return i+1 < size;
}
public E next() {
if (!hasNext()) {
throw new java.util.NoSuchElementException();
}
i++;
return (E) queue[i];
}
public void remove() {
throw new java.lang.UnsupportedOperationException();
}
}
public Iterator<Item> iterator() { // return an iterator over the items in random order
return new RandomQueueIterator();
}
我有一个想法,我应该(?)使用 StdRandon.uniform();但不知道在哪里确切地写它。因此,我希望你们中的一个可以帮助我!
【问题讨论】:
-
请take the tour 了解该网站的运作方式以及此处的主题有哪些问题,并edit 相应地提出您的问题。另见:Why is "Can someone help me?" not an actual question?
-
欢迎来到 Stack Overflow!请使用tour 并通读help center,尤其是How do I ask a good question? 您的“暂时尝试”只是一个迭代器,根本没有尝试处理使其随机化。所以...做你的研究,search 以获取有关 SO 的相关主题,并试一试,尝试去做。 如果您在进行更多研究和搜索后遇到困难并且无法摆脱困境,请发布您的尝试minimal reproducible example,并具体说明您遇到的问题。人们会很乐意提供帮助。祝你好运!
-
谢谢你们的回答!我不确定您希望我如何提出我的问题。如果您要另一半的代码,我很乐意将其发送给您,即使我发现它与本主题无关。你们能否更具体地说明您希望我详细说明的内容或其他内容?提前致谢!
标签: java random-access