В общем опишу программу по частям.
принцип решения такой-
----------------------------------------------------------------------------------------------------------------------
-создать и заполнить Map
----------------------------------------------------------------------------------------------------------------------
-!!!Создатьдругой ArrayList только для ключей тк они -String
-Итератором через него пройти и там где ЗП<500 ->добавить ключ в ArrayList.
У меня с каждым днем все больше "Solutions" открыто. Как их убрать и на что они влияют?
// create Map to store things to remove
// Map<String, Integer> salariesToRemove = new HashMap<>();
ArrayList<String> list = new ArrayList<>();
//add the map pairs to the alternativeMap
Iterator<Map.Entry<String, Integer>> iterator = map.entrySet().iterator();
while(iterator.hasNext()){
Map.Entry<String, Integer> pair = iterator.next();
String key = pair.getKey();
Integer salary = pair.getValue();
if(salary<500){
list.add(key);
//salariesToRemove.put(key, salary);
}
}
----------------------------------------------------------------------------------------------------------------------
-второй итератор- пока может идет по списку и удаляет по ключу значения из Map.
Iterator<String> iterator2 = list.iterator();//получение итератора для списка
while (iterator2.hasNext()) //проверка, есть ли ещё элементы
{
//получение текущего элемента и переход на следующий
String text = iterator2.next();
map.remove(text);
}
----------------------------------------------------------------------------------------------------------------------
Мое решение изначально нацелено на то чтобы это соединить например с BufferedReader-ом ,но я бы хотел узнать альтернативные решения (Кроме мануальной записи удаления по одному,понятное дело
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Вопрос 2
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Тут я так или иначе прописываю что вызыываю метод такой с результатом другого метода в качестве аргумента.
Если бы я этого не писал- программа бы ни в какую не прошла или она бы пошла просто main-пусто , потом сверху вниз по коду. то есть первый метод вернул бы Map И Жаба бы его автоматом в след код забрала?
public static void main(String[] args) {
removeItemFromMap(createMap());
}
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Вопрос 3- просто по IDea
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------