How to split a collection in two with Java

1 Answer

0 votes
import java.util.Arrays;
import java.util.Objects;
import java.util.ArrayList;
import java.util.Collection;
import java.util.concurrent.atomic.AtomicInteger;

public class MyClass {
    public static void main(String args[]) {
 
        Collection<String> co = Arrays.asList("java", "c", "c#", "c++", "rust", "python", "php");
        
        Collection<String> co1 = new ArrayList<>();
        Collection<String> co2 = new ArrayList<>();
        
        int mid = Math.round(co.size() / 2);

        AtomicInteger count = new AtomicInteger();

        co.forEach(next -> {
            int index = count.getAndIncrement();

            if (index < mid) {
                co1.add(next);
            } else {
                co2.add(next);
            }
        });

        System.out.println(co1);
        System.out.println(co2);
    }
}
   
   
   
   
/*
run:
   
[java, c, c#]
[c++, rust, python, php]
   
*/

 



answered Mar 12, 2023 by avibootz
...