On Sat, 5 Feb 2022 05:08:54 GMT, yosbits <d...@openjdk.java.net> wrote:

>> This PR adds a predicate to TableView and TreeTableView selection models 
>> order to remove rows from the selection only when there are no selected 
>> cells in that given row, when cell selection is enabled.
>> 
>> Two tests have been added as well, that fail without this PR and pass with 
>> it.
>
> Why not use IntPredicate?
> 
> before
> 
> ``` java
> public static <S> void updateSelectedIndices(MultipleSelectionModelBase<S> sm,
>  ListChangeListener.Change<? extends TablePositionBase<?>> c, 
> Predicate<Integer> removeRowFilter) {
> 
> 
> after
> 
> ``` java
> public static <S> void updateSelectedIndices(MultipleSelectionModelBase<S> 
> sm, 
> ListChangeListener.Change<? extends TablePositionBase<?>> c, 
> IntPredicate removeRowFilter) {
> 
> 
> before
> ``` java
>                     .map(TablePositionBase::getRow)
> 
> 
> after
> ``` java
>                     .mapToInt(TablePositionBase::getRow)

@yososs Do you see any possible gain by using `IntPredicate` vs 
`Predicate<Integer>? 

It changes the `Stream<Integer>` to `IntStream`, and that needs an extra 
`.boxed()` operation (or alternatively an extra operation to transform the int 
array with `.collect(ArrayList::new, ArrayList::add, ArrayList::addAll)`).

So I'm wondering if this is worthy?

-------------

PR: https://git.openjdk.java.net/jfx/pull/709

Reply via email to