Java:从集合中获取第一项
2022-08-31 04:54:20
如果我有一个集合,例如 ,如何取出第一个项目?我可以叫一个,先拿它,然后扔掉。有没有一种不那么浪费的方法可以做到这一点?Collection<String> strs
Iterator
next()
Iterator
如果我有一个集合,例如 ,如何取出第一个项目?我可以叫一个,先拿它,然后扔掉。有没有一种不那么浪费的方法可以做到这一点?Collection<String> strs
Iterator
next()
Iterator
看起来这是最好的方法:
String first = strs.iterator().next();
好问题...起初,这似乎是对界面的疏忽。Collection
请注意,“first”并不总是返回您放入集合中的第一个内容,并且可能只对有序集合有意义。也许这就是为什么没有调用的原因,因为顺序不一定保留。get(item)
虽然它可能看起来有点浪费,但它可能没有你想象的那么糟糕。实际上只包含索引信息到集合中,而不是通常整个集合的副本。调用此方法确实会实例化对象,但这实际上是唯一的开销(不像复制所有元素)。Iterator
Iterator
例如,查看该方法返回的类型,我们看到它是 .这是一个内部类,它只直接访问列表的元素,而不是复制它们。ArrayList<String>.iterator()
ArrayList::Itr
只要确保你检查返回,因为它可能是空的或取决于实现。iterator()
null