----- Mail original ----- > De: "Stephen Colebourne" <scolebou...@joda.org> > À: "core-libs-dev" <core-libs-dev@openjdk.java.net> > Envoyé: Vendredi 30 Avril 2021 23:15:45 > Objet: Re: Collection::getAny discussion
> On Fri, 30 Apr 2021 at 19:50, Stuart Marks <stuart.ma...@oracle.com> wrote: >> You're asking for something that's somewhat different, which you called the >> "find >> the first element when there is only one" problem. Here, there's a >> precondition >> that >> the collection have a single element. (It's not clear to me what should >> happen >> if >> the collection has zero or more than one element.) > > I think any get() or getAny() method on Collection is semantically > equivalent to iterator.next(). I'm not sure there is another viable > option. Thinking a little more about conflating "first" and "any". I wonder if we have not already cross the Rubicon on that matter, If we have a HashSet or any collections and using Stream.findFirst() var collection = new HashSet<>(...); var result = collection.stream().findFirst().orElseThrow(); We will get the result of collection.iterator().next() So adding a default method getFirst() on Collection that returns the result of iterator().next() is pretty coherent, no ? [...] > > Stephen Rémi