File tree Expand file tree Collapse file tree 1 file changed +4
-2
lines changed
src/main/java/com/pivovarit/collectors Expand file tree Collapse file tree 1 file changed +4
-2
lines changed Original file line number Diff line number Diff line change @@ -86,7 +86,9 @@ public boolean tryAdvance(Consumer<? super List<T>> action) {
8686 int end = Math .min (source .size (), consumed + chunkSize );
8787 List <T > batch = source .subList (consumed , end );
8888 consumed += batch .size ();
89- chunkSize = (int ) Math .ceil (((double ) (source .size () - consumed )) / --chunks );
89+ if (--chunks > 0 ) {
90+ chunkSize = (int ) Math .ceil (((double ) (source .size () - consumed )) / chunks );
91+ }
9092 action .accept (batch );
9193 return true ;
9294 } else {
@@ -102,7 +104,7 @@ public Spliterator<List<T>> trySplit() {
102104 }
103105
104106 int midChunks = chunks / 2 ;
105- int midSize = midChunks * chunkSize ;
107+ int midSize = Math . min ( midChunks * chunkSize , source . size () - consumed ) ;
106108
107109 var subList = source .subList (consumed , consumed + midSize );
108110 var split = new BatchingSpliterator <>(subList , midChunks );
You can’t perform that action at this time.
0 commit comments