java.util.Set 仅指定返回所有记录的方法(通过Iterator或数组).
为什么没有选项可以从Set中返回任何值?
它在现实生活中有很多意义.例如,我有一碗草莓,我想只拿一个.我完全不在乎哪一个.
为什么我不能在java中做同样的事情?
这不是负责任的.您必须询问Java集合框架的原始设计者.
一个可能的原因是具有非确定性行为的方法往往存在问题:
对于基于散列表的集合组织,"获取某些元素"方法的行为将是非确定性的,或者至少难以确定/预测.
顺便说一下,你可以通过以下方式获得非空集的一些元素:
Object someObject = someSet.iterator().next();
Run Code Online (Sandbox Code Playgroud)
获取真正的(伪)随机元素有点棘手/昂贵,因为您无法索引集合的元素.(您需要将所有设置元素提取到数组中...)
在重新审视这一点时,我意识到还有另一个原因.它只是Set基于集合的数学概念,而数学集合中的元素没有顺序.谈论数学集的第一个元素是毫无意义的.
| 归档时间: |
|
| 查看次数: |
453 次 |
| 最近记录: |