Я преобразовываю arraylist в набор в java, и полученный набор не дает ожидаемых результатов.Array to Set not cut off java array
String[] characterName = {"C","A","P","T","A","I","N","A","M","E","R","I","C","A"};
String[] alphabet = {"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"};
List<String> pool = new ArrayList<String>();
for(int i=0;i<characterName.length;i++) {
pool.add(characterName[i]);
}
int difference = 19-characterName.length;
for(int i=0;i<difference;i++) {
pool.add(alphabet[i]);
}
Collections.shuffle(pool);
Set<String> poolSet= new HashSet<>();
poolSet.addAll(pool);
Я отлажена это, но когда я addAll из бассейна в HashSet, это добавляет только первые 11 символов массива. ДАЖЕ, хотя, когда я отлаживаю, он говорит, что пул = 19, он добавляет 11. Я называю это неправильным? Кажется, это так просто, но это не все. Любой вход очень приветствуется.
Установки не могут иметь дубликаты по их определению. Когда вы добавляете дублирующий элемент, он просто исчезнет. – hexafraction
Какова цель переменной 'difference'? –
Это имеет смысл. Разница определяет, сколько дополнительных букв мне нужно добавить в пул, чтобы добраться до 19 –