Alone in a Couple implementation in Java
You are using a pretty nice idea here. You store things you've seen once and remove them when you've seen them a second time. To do so you're using a List. 

Instead of a List you should be using a Set though. Lists are not optimized for contains checks. Also ArrayList has a pretty expensive remove operation. Let's rewrite the getAloneNum with a Set:

private static int getAloneNum(int[] arr) {
    Set&lt;Integer&gt; alone = new HashSet&lt;&gt;();
    for (int elem : arr) {
        if (alone.contains(elem)) {
            alone.remove(elem);
        } else {
            alone.add(elem);
        }
    }
    return alone.iterator().next();
}


Note that this implementation avoids the following things:


Unnecessary negation in the if-condition
repeated traversal of the container (contains and indexOf traverse the full list)


I also personally prefer to not have  a space before the opening parenthesis, but YMMV :)

As a challenge for java 8 you could try to rewrite this to use as little memory as possible by using a Stream and handling the input as it comes instead of saving it into an array :)