Итерация по HashSet с использованием цикла for - PullRequest
0 голосов
/ 04 марта 2020

У меня есть HashSet, который я хотел бы перебрать для l oop и отобразить его содержимое, но я не знаю, как заставить его работать. Я не могу найти способ доступа к элементу определенного индекса (i) из HashSet. Есть ли способ сделать это?

У меня есть следующий (некомпилируемый) код в качестве основы того, чего я хочу достичь:

    public void postNumbers(HashSet<String> uniqueNumbers)
    {
        for (int i = 0; i < uniqueNumbers.size(); i++)
        {
            System.out.println(uniqueNumbers(i));
        }
    }

Я хотел бы заменить System.out.println часть кода (в частности, uniqueNumbers (i)), но я не знаю, как к нему подойти

Ответы [ 2 ]

3 голосов
/ 04 марта 2020

У наборов нет индексов, поэтому ваш подход к обходу его элементов не будет работать. Лучше использовать расширенный для l oop, например:

for (String number : uniqueNumbers) {
    System.out.println(number);
}
0 голосов
/ 04 марта 2020

HashSet не упорядочивает свои элементы, поэтому ссылка на указатель c index не работает. Для l oop сквозных элементов в HashSet используйте для l oop следующее:

public void postNumbers(HashSet<String> uniqueNumbers)
{
    for (String n : uniqueNumbers)
    {
        System.out.println(n);
    }
}
...