On Fri, 14 Nov 2025 00:42:55 GMT, Stuart Marks <[email protected]> wrote:
>> I'm curious, why not .equals() when we know the input is a List? That is a >> stricter assertion because it ensures ordering remains unchanged. >> >> Happy to make the change, though. > > The testCollection1() method gets called with a bunch of different > collections, including a HashSet, which arrives at this code in the `c` > parameter. When `c` is copied into a new ArrayList, it gets whatever order is > presented by `c`, which is unspecified when `c` is a HashSet. The resulting > order might differ from the order in the source list, and equals() over Lists > compares order, so it might result in a spurious failure. > > I note that creating a HashSet of capacity 8 and adding 42 and then 99 > results in [42, 99] but doing the same with a HashSet of capacity 16 results > in [99, 42]. The test might actually pass, but if it does, it seems like it's > pretty brittle. > > EDIT: oh, looks like the latest change renders this issue moot. But that was > the issue behind my comment. Thank you! ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/28116#discussion_r2527884895
