Question

I have an ArrayList (listOfNumbers) which contains a number. I have written a Predicate (guava) which gives me a list of EVEN numbers (evenNumberList) from listOfNumbers. I now want all the ODD numbers copied to a new ArrayList. Wondering if there is a quick way of doing this?

Was it helpful?

Solution

Inside your class, have two instance variables: ArrayList<Integer> oddNumbers and ArrayList<Integer> evenNumbers. Then, your method should look like the following:

public void setEvenOdd(ArrayList<Integer> listOfNumbers) {
    ArrayList<Integer> even = new ArrayList<Integer>();
    for(Integer i : listOfNumbers) {
        if(i % 2 == 0) even.add(listOfNumbers.remove(i));
    }
    this.evenNumbers = even;
    this.oddNumbers = listOfNumbers; // since we removed all even numbers
}

Is this what you were asking for?

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top