为什么java.util中没有随机访问集

时间:2014-11-07 00:42:02

标签: java list collections set

为什么标准库中不存在实现SetList接口的类?链接集保留了集合的顺序,但不允许随机访问。

为什么这不被视为有用?

2 个答案:

答案 0 :(得分:2)

因为它很难有效地实现,至少如果你支持移除它。例如,Guava的ImmutableSet支持通过其asList()视图进行随机访问,但不支持变异。

答案 1 :(得分:2)

因为在不违反SetList合同的情况下无法这样做。 Set可能不会重复。如果您将容器用作List并尝试添加副本会发生什么?