我有一个 Set 实例:
Set<String> siteIdSet = (Set<String>) pContext.getParent().getPropertyValue(getCatalogProperties().getSitesPropertyName());
pContext.getParent().getPropertyValue()
是开箱即用的代码,我无法对其进行任何修改。
要求:
我想(总是)从中获取第 一个 默认元素。但是,我找不到方法 get(index)
就像在 ArrayList
中一样。
因此,现在,我正在这样做。
for (Iterator<String> it = siteIdSet.iterator(); it.hasNext();) {
siteId = it.next();
break;
}
是否有任何(其他) 有效的方法(更短和更好)来实现这一目标?
原文由 KrishPrabakar 发布,翻译遵循 CC BY-SA 4.0 许可协议
来自 Oracle 文档:
在 集合论 中,“一个“集合”是不同对象的集合,被认为是一个独立的对象。” - [维基百科 - 集] 。
在数学上,集合中的元素不是个体化的。他们唯一的身份来源于他们在集合中的存在。因此,获取集合中的“第一个”元素没有意义,因为从概念上讲,这样的任务是不合逻辑的。
从集合中获取“第一个”元素可能没有意义,但如果您只需要从集合中获取一个对象(无法保证是哪个对象),您可以执行以下操作:
这是获取
Set
的“第一个”对象的一种略短的方法(比您发布的方法),但是由于仍在创建迭代器(在幕后),它不会带来任何性能优势.