Isn't iterable.getOne() the same as iterable.iterator().next()? 2018-01-31 12:15 GMT+07:00 Dave Brosius <dbros...@mebigfatguy.com>:
> Greetings, > > > sorry if this has been asked before, but has there been any consideration > for adding a > > default T getOne() { > > Iterator<T> it = iterator(); > if (!it.hasNext()) { > throw new NoSuchElementException(); > } > > return it.next(); > } > > > on the Iterable interface? > > > It is often the case you have a collection of some sort (un indexed, in > this case), where you know there is only one value in the collection, or > you know for some attribute of all the objects in the Iterable, all objects > can be thought of as the same, and so you just want to get any of the > elements. > > Having to craft this iterator code is annoying, and it would be much nicer > to be able to do > > String s = mySet.getOne(); > > In addition to this, it is likely that most collections could implement > getOne() more optimally than using the standard iterator approach. > > Of course i am not stuck on the choice of the name 'getOne' anything would > do. examplar() ? As we know, naming is always the hardest part. > > thoughts? > dave > >