It will throw a ConcurrentModificationException
for each invalid UUID.
Second point is because of this:
for(String uuid : uuids){
if(!checkIfValidUUID(uuid)){
uuids.remove(uuid);
}
}
The foreach loop creates an iterator internally, but you modifiy this iterator. You have to create an iterator and use .remove()
.
For instance:
final Iterator<String> iterator = uuids.iterator();
String uuid;
while (iterator.hasNext()) {
uuid = iterator.next();
if (!checkIfValidUUID(uuid))
iterator.remove();
}
return uuids;