我需要一个包含无序、可重复项的集合。
在Java中,Set是不可重复的,List是有序的,这不是我想要的。
似乎Pool是一个合适的集合,但在Java中并不存在。
接口应该如下所示:
也就是说,我想要每次随机获取一个项目。我该如何实现?
public interface Pool<T> {
void set(T item);
T get();
}
这个东西存在吗?
补充:
我意识到我表达得不正确。事实上,我想要一个像这样的界面:
public interface Pool<T> {
void put(T item);
T randomRemove();
}
也就是说,我想要每次随机获取一个项目。我该如何实现?
set
和get
应该是什么意思?set
是“放入一个T”,而get
是“移除并返回一个T”吗?如果是这样,大多数有序集合都可以使用add
和某种形式的remove
或pop
来支持它们。 - user2357112HashMultiset
就是你要找的。 - fps