Итак, я хочу составить карту списков строк в строках, но я не могу заставить ее работать правильно:HashMap of ArrayList <String>, String работает неправильно?
это весь код, который я сделал, и пока я не смогу узнать, почему, я не могу прогрессировать :
Map<List<String>, String> test = new HashMap<List<String>, String>();
test.put(new ArrayList<String>(), "s1");
test.put(new ArrayList<String>(), "s2");
test.put(new ArrayList<String>(), "s3");
System.out.println(test.size());
Я получаю 1, это должно быть 3! Почему добавляется только один объект, когда я сделал 3 вызова, для 3 отдельных объектов? Я знаю опасность случайного добавления в один объект к коллекции, но я специально создал новый ArrayList для каждого put, создав тем самым совершенно новый новый объект.
Так почему же на карте есть только один объект? Спасибо!
Вы никогда не должны использовать изменяемый ключ в HashMap. –