package dasherJava.core.collections; import java.util.ArrayList; import java.util.List; public interface NamedObject { String getName(); static String[] buildNamesArray(List objects) { String[] names = new String[objects.size()]; for (int i = 0; i T findObjectByName(String name, Iterable objects) { for (T object : objects) { if (object.getName().equals(name)) return object; } return null; } //Modifies the list passed as parameter and returns another list that contains all names that occurred //multiple times. static List removeDuplicates(List list) { List duplicatedNames = new ArrayList<>(); for (int i = 0; i1) { duplicatedNames.add(name); for (int j = list.size()-1; j>=0; j--) { if (list.get(j).getName().equals(name)) list.remove(j); } i--; } } return duplicatedNames; } static void sortCaseInsensitive(List list) { list.sort((o1, o2) -> String.CASE_INSENSITIVE_ORDER.compare(o1.getName(), o2.getName())); } }