Java Arraylist Can Contain Duplicate Elements