Я не уверен, что вы хотите, заключается в следующем. Но вам не нужно указывать имя каждого списка, который вы хотите добавить, вы можете просто использовать List.contains()
, который будет использовать Object.equals()
для сравнения. И он собирается сравнить весь контент в списке, точнее, он использует Object.hashCode()
для достижения этой цели. Поэтому я не думаю, что требуется дополнительный уникальный идентификатор .
Фрагмент кода
private static List<List<String>> QList = new ArrayList<>();
public static void main(String[] args) {
addQueue(Arrays.asList("a","b","c"));
addQueue(Arrays.asList("a","b","c"));
addQueue(Arrays.asList("c","b","a"));
addQueue(Arrays.asList("a","c","b"));
addQueue(Arrays.asList("c","b","a"));
System.out.println(QList.toString());
}
public static void addQueue(List<String> list){
if (!QList.contains(list)) {
QList.add(list);
}
}
Вывод на консоль
[[a, b, c], [c, b, a], [a, c, b]]