[ 
https://issues.apache.org/jira/browse/COLLECTIONS-800?focusedWorklogId=698183&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-698183
 ]

ASF GitHub Bot logged work on COLLECTIONS-800:
----------------------------------------------

                Author: ASF GitHub Bot
            Created on: 18/Dec/21 02:23
            Start Date: 18/Dec/21 02:23
    Worklog Time Spent: 10m 
      Work Description: LarsBodewig commented on a change in pull request #265:
URL: 
https://github.com/apache/commons-collections/pull/265#discussion_r771770406



##########
File path: src/main/java/org/apache/commons/collections4/ListUtils.java
##########
@@ -486,13 +504,52 @@ public static String longestCommonSubsequence(final 
CharSequence charSequenceA,
      * @throws NullPointerException if list is null
      * @throws IllegalArgumentException if size is not strictly positive
      * @since 4.0
+     * @see ListUtils#partitionBalanced(List, int)
      */
     public static <T> List<List<T>> partition(final List<T> list, final int 
size) {
         Objects.requireNonNull(list, "list");
         if (size <= 0) {
             throw new IllegalArgumentException("Size must be greater than 0");
         }
-        return new Partition<>(list, size);
+        return new Partition<>(list, size, false);
+    }
+
+    /**
+     * Returns consecutive {@link List#subList(int, int) sublists} of a
+     * list, partitioned in a way to balance entries across all sublists. For 
example,
+     * partitioning a list containing {@code [a, b, c, d, e]} with a partition
+     * size of 3 yields {@code [[a, b, c], [d, e]]} -- an outer list containing
+     * two inner lists of three and two elements, all in the original order. 
Partitioning

Review comment:
       I see why you would use the example from `ListUtils.partition`, however 
this could be confusing IMO if you start comparing what method to use and see 
no difference so far. I would opt for a more clear example here.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Issue Time Tracking
-------------------

    Worklog Id:     (was: 698183)
    Time Spent: 50m  (was: 40m)

> 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: 50m
>  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.20.1#820001)

Reply via email to