On Wed, 7 Oct 2020 08:07:52 GMT, yosbits <github.com+7517141+yos...@openjdk.org> wrote:
> > > The error occurs as specified in getSelectedItems(). no, both spec and implementation (at least as far as its relation to this issue) is correct. > It seems to be correct to write the following > > `listView.getItems().removeAll(new HashSet<>(selectedItems)) ` > > (or ArrayList) > asking client code to adopt to changes in the framework is not an option > It could be interpreted that the intention was to mitigate the side effects > associated with the getSelectedItems() > specification. no side-effects, nothing mitigated, : it's a deliberate, full-fledged support of source lists that change on removing items from the target list > The use of BitSet should be avoided when the list is large, as it is not a > sparse implementation and therefore wastes a > lot of memory. For example, when removing the last item in the list. > `BitSet bs = new BitSet(c.size()); ` > The previous change was an incorrect initialization size for BitSet. feel free to suggest another (working without requiring changes to client code) two-pass approach in remove/retainAll. ------------- PR: https://git.openjdk.java.net/jfx/pull/305