Для List коллекции на такой случай есть расширенный итератор ListIterator.
А для Set и Map действительно что ли ничего (метод, класс и т. п.) для перебора с добавлением нет?
Для Set
существует итератор:
HashSet<String> set= new HashSet<String>();
Iterator iterator = set.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
Или так:
Set<String> set;
for ( String s : set )
System.out.println(s);
Map
можно перебрать так(нужно создать свой итератор):
Iterator<Map.Entry<String, String>> entries = map.entrySet().iterator();
while (entries.hasNext()) {
Map.Entry<String, String> entry = entries.next();
System.out.println(entry.getKey() + " " + entry.getValue());
}
Костыльный способ для доступа по индексу(и удалению):
ArrayList<String> list = new ArrayList<String>();
for(int i = 0; i < set.size(); i++) {
list.add((String) set.toArray()[i]);
System.out.println(list.get(i));
}
HashMap и HashSet не гарантируют порядка, поэтому доступ по индексу не имеет смысла. А для перебора и изменения можно использовать стандартный StreamApi
Set<Integer> set = Set.of(-1, 1, 2, 3, 4, 5, -10);
set = set.stream()
.filter(i -> i > 0) // Отсеиваем отрицательные
.map(i -> i * 2) // Умножаем на 2
.collect(Collectors.toSet()); // Собираем в новый Set
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Каким образом можно обфусцировать api-key от firebase в android приложении на javaApi-ключ лежит в google-services
При попытке получить connection через DriverManager получал SQLExceptionЭто все на tomcat
Как сохранить presenter при смене конфигурации телефона, например при повороте? Прочитал много способов, но так и не понял, какой лучше всего использоватьЗнаю...
начал изучать vue js и столкнулся с проблемойвот такой воот просто скрипт я использовал для анимированого отступа на jquery