You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Claudio (Jira)" <ji...@apache.org> on 2021/11/04 21:33:00 UTC
[jira] [Updated] (COLLECTIONS-800) Provide a
ListUtils.partitionBalanced(List, int) method where returned sublists are
"balanced"
[ https://issues.apache.org/jira/browse/COLLECTIONS-800?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Claudio updated COLLECTIONS-800:
--------------------------------
Description:
[https://github.com/apache/commons-collections/pull/265]
The new method re-uses some of the logic of the existing ListUtils.partition(List, int). The difference with that method is that the returned sublists are "balanced" so that they all have the same amount of elements (with a maximum of 1 element difference). Some examples:
A list of 10 elements, partition 10:
* partition() and partitionBalanced() both return a single sublist with 10 elements
A list of 11 elements, partition 10:
* partition() returns a sublist of 10 and another sublist of 1 element
* partitionBalanced() method returns a sublist of 6 and another sublist of 5 elements
A list of 14 elements, partition 10:
* partition() returns a sublist of 10 and another sublist of 4 elements
* partitionBalanced() method returns two sublists of 7 elements each
A list of 20 elements, partition 10:
* partition() and partitionBalanced() both return two sublists of 10 elements
was:
The new method re-uses some of the logic of the existing ListUtils.partition(List, int). The difference with that method is that the returned sublists are "balanced" so that they all have the same amount of elements (with a maximum of 1 element difference). Some examples:
A list of 10 elements, partition 10:
* partition() and partitionBalanced() both return a single sublist with 10 elements
A list of 11 elements, partition 10:
* partition() returns a sublist of 10 and another sublist of 1 element
* partitionBalanced() method returns a sublist of 6 and another sublist of 5 elements
A list of 14 elements, partition 10:
* partition() returns a sublist of 10 and another sublist of 4 elements
* partitionBalanced() method returns two sublists of 7 elements each
A list of 20 elements, partition 10:
* partition() and partitionBalanced() both return two sublists of 10 elements
If we are ok to add this feature, I have a working implementation with tests and I'm happy to create a PR on Github.
> Provide a ListUtils.partitionBalanced(List, int) method where returned sublists are "balanced"
> ----------------------------------------------------------------------------------------------
>
> Key: COLLECTIONS-800
> URL: https://issues.apache.org/jira/browse/COLLECTIONS-800
> Project: Commons Collections
> Issue Type: New Feature
> Components: List
> Reporter: Claudio
> Priority: Minor
> Time Spent: 10m
> Remaining Estimate: 0h
>
> [https://github.com/apache/commons-collections/pull/265]
> The new method re-uses some of the logic of the existing ListUtils.partition(List, int). The difference with that method is that the returned sublists are "balanced" so that they all have the same amount of elements (with a maximum of 1 element difference). Some examples:
> A list of 10 elements, partition 10:
> * partition() and partitionBalanced() both return a single sublist with 10 elements
> A list of 11 elements, partition 10:
> * partition() returns a sublist of 10 and another sublist of 1 element
> * partitionBalanced() method returns a sublist of 6 and another sublist of 5 elements
> A list of 14 elements, partition 10:
> * partition() returns a sublist of 10 and another sublist of 4 elements
> * partitionBalanced() method returns two sublists of 7 elements each
> A list of 20 elements, partition 10:
> * partition() and partitionBalanced() both return two sublists of 10 elements
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)