powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Как правильней удалить элемент в HashMap с введёным с клавиатуры ID?
8 сообщений из 8, страница 1 из 1
Как правильней удалить элемент в HashMap с введёным с клавиатуры ID?
    #38818438
IShapovalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как правильней удалить элемент в HashMap с введёным с клавиатуры ID. При этом если введено "n", а затем нажата клавиша Enter то выходем в предыдущее меню, если нечего не введено и нажата клавиша Enter, то уведомляем то что нечего не введено и просим павторно ввести ID. Если введё ID который есть в HashMap то удаляем этот элемент в HashMap с этим ID.
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
        public static void menuDelete()
        {
            BufferedReader bufferedReader =
                    new BufferedReader(new InputStreamReader(System.in));
            String exitToMenuTaskManage = "n";
            String tempID = null;
            System.out.println("Choose the number of deleted task. choice by entering the ID number into the console,\n" +
                    " and then press Enter. To return to the previous menu, press \"n\" and then press Enter.");
            for (HashMap.Entry<Integer, Task> pair : taskHashMap.entrySet())
            {
                System.out.println(+ pair.getKey() + " - " + pair.getValue().getName()  + " - "
                        + pair.getValue().getDescription() + " " + pair.getValue().getStartDate() + " - "
                        + pair.getValue().getActive());
           }
            try {
                tempID = bufferedReader.readLine();
            } catch (IOException e) {
                e.printStackTrace();
            }
            try{

                if (tempID.equals(exitToMenuTaskManage))
                {
                    menuTaskManage();
                }else if(tempID.length() == 0)
                {
                    System.err.println("You have entered an invalid ID format. Try again.(Do not put more than one symbol)");
                    menuDelete();
                }else if(tempID.length() >= 1)
                {
                    for (HashMap.Entry<Integer, Task> pair : taskHashMap.entrySet())
                    {
                        if(pair.getKey().equals(Integer.parseInt(tempID)))
                        {
                            taskHashMap.remove(Integer.parseInt(tempID));
                            System.out.println("The " + Integer.parseInt(tempID) + " ID successfully enabled");
                            menuTaskManage();
                        }
                    }
                }
                else
                {
                    System.err.println("You have entered an invalid ID format. Try again.");
                    menuDelete();
                }
            }catch (Exception e)
            {
                System.err.println("You have entered an invalid ID format. Try again.");
                menuDelete();
            }

        }
...
Рейтинг: 0 / 0
Как правильней удалить элемент в HashMap с введёным с клавиатуры ID?
    #38818505
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IShapovalov,

HashMap-у всё равно с клавиатуры вы вводите ключи или мышь между ягодиц зажали и по стулу елозите.
https://docs.oracle.com/javase/tutorial/collections/interfaces/map.html
...
Рейтинг: 0 / 0
Как правильней удалить элемент в HashMap с введёным с клавиатуры ID?
    #38818535
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне кажется автор тут пытается сформулировать постановку "String autocompletition"
...
Рейтинг: 0 / 0
Как правильней удалить элемент в HashMap с введёным с клавиатуры ID?
    #38818560
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IShapovalov,
А для чего этот цикл?
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
 for (HashMap.Entry<Integer, Task> pair : taskHashMap.entrySet()){
                        if(pair.getKey().equals(Integer.parseInt(tempID)))
                        {
                            taskHashMap.remove(Integer.parseInt(tempID));
                            System.out.println("The " + Integer.parseInt(tempID) + " ID successfully enabled");
                            menuTaskManage();
                        }
}



Тупо заменяется на
Код: java
1.
map.remove(key);


и даже if(map.containsKey(key)) не нужен
...
Рейтинг: 0 / 0
Как правильней удалить элемент в HashMap с введёным с клавиатуры ID?
    #38818870
IShapovalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz,

но я же не знаю что пользователь ввёл
...
Рейтинг: 0 / 0
Как правильней удалить элемент в HashMap с введёным с клавиатуры ID?
    #38818887
IShapovalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz,

цикл для проверки есть ли в мапе элемент с введёным ключом
...
Рейтинг: 0 / 0
Как правильней удалить элемент в HashMap с введёным с клавиатуры ID?
    #38818904
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
remove() :Returns:
the previous value associated with key, or null if there was no mapping for key.
(A null return can also indicate that the map previously associated null with key.)И даже если вы собрались заложиться на ключ с пустым значением, то containsKey() :Returns:
true if this map contains a mapping for the specified key.Без всяких циклов.
Чтите доки, в общем.
...
Рейтинг: 0 / 0
Как правильней удалить элемент в HashMap с введёным с клавиатуры ID?
    #38819002
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IShapovalovBlazkowicz,

цикл для проверки есть ли в мапе элемент с введёным ключом
И если нет, то что? О, ужас! Даже исключения не будет.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Как правильней удалить элемент в HashMap с введёным с клавиатуры ID?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]