Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
17 / 17 / 2
Регистрация: 29.10.2013
Сообщений: 269

Удалить определённых людей из Map

21.01.2017, 19:54. Показов 1377. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть код:
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
package my;
 
import java.util.Date;
import java.util.*;
import java.lang.*;
import java.io.*;
 
/* Name of the class has to be "Main" only if the class is public. */
class HelloWorld
{
    public static void main (String[] args) 
    {
        HashMap<String, Date> wasBorn = createMap();
        removeAllSummerPeople(wasBorn);
        System.out.println(wasBorn);
    }
 
    public static HashMap<String, Date> createMap()
    {
        HashMap<String, Date> map = new HashMap<String, Date>();
        map.put("Stallone", new Date("JUNE 1 1980"));
 
        map.put("Alex", new Date("JUNE 1 1980"));
        map.put("Bob", new Date("JANUARY 1 1980"));
        map.put("Ax", new Date("JANUARY 1 1980"));
        map.put("asd", new Date("DECEMBER 1 1980"));
        map.put("fgh78", new Date("SEPTEMBER 1 1980"));
        map.put("ert", new Date("SEPTEMBER 1 1980"));
        map.put("Tim", new Date("MART 1 1980"));
        map.put("fht", new Date("JUNE 1 1980"));
        map.put("fht5", new Date("APRIL 2 1980"));
 
        return map;
 
    }
 
    public static void removeAllSummerPeople(HashMap<String, Date> map)
    {
        Iterator<Map.Entry<String, Date>> iterator = map.entrySet().iterator();
 
        while (iterator.hasNext())
        {
            int i = iterator.next().getValue().getMonth() + 1;
            if (i >=6 && i<= 8)
                iterator.remove();
        }
 
    }
}
Однако он не работает и выдаёт следующие:
Exception in thread "main" java.lang.IllegalArgumentException
at java.util.Date.parse(Unknown Source)
at java.util.Date.<init>(Unknown Source)
at my.HelloWorld.createMap(HelloWorld.java: 30)
at my.HelloWorld.main(HelloWorld.java:13)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.01.2017, 19:54
Ответы с готовыми решениями:

Запрос на выборку в отчет определенных людей - выборка по номерам удостоверений
Прошу помочь со следующим: --есть база сотрудников, --необходимо создать запрос на выборку в отчет определенных людей -- выборка...

Почему Google map долго грузит детали карты в определенных координатах?
Добрый день! Использую в приложении Google map. Обнаружил странную вещь: если переместить позицию карты в разные координаты, то разное...

Удалить элементы из контейнера map
#include &lt;iostream&gt; #include &lt;map&gt; using namespace std; int main() { map&lt;int, int&gt; map1; map1 = 2; map1 =...

4
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
21.01.2017, 20:39
вроде не сложно же
http://bfy.tw/9c1B

 Комментарий модератора 
3.3 Не отсылайте других пользователей в поиск и избегайте ссылок на поисковые системы (Google, Yandex и др.). Самостоятельно найдите ответ на вопрос и разместите его на форуме.
0
 Аватар для Alradalion
132 / 126 / 85
Регистрация: 13.09.2013
Сообщений: 485
22.01.2017, 12:55
Вам пишут, что у вас ошибка в 30 строке. А именно он не понимает дату. А если совсем конкретно, неправильно написано название месяца
1
6 / 6 / 4
Регистрация: 16.01.2017
Сообщений: 31
24.01.2017, 00:17
Лучший ответ Сообщение было отмечено nublin1 как решение

Решение

Ну я тут накатал такой пример, может поможет.
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
 
public class Main 
{
    //Создаём карту и сразу инициализируем
    static HashMap<String, Date> userMap = new HashMap<>();
    //точка входа в программу
    public static void main(String[] args) 
    {
        //добавляем наших юзеров
        userMap.put("Alex", getDate(1980, 6, 1));
        userMap.put("Bob", getDate(1980, 1, 1));
        userMap.put("Ax", getDate(1980, 1, 1));
        userMap.put("asd", getDate(1980, 12, 1));
        userMap.put("fgh78", getDate(1980, 9, 1));
        userMap.put("ert", getDate(1980, 9, 1));
        //выводим кол-во уникальных записей
        System.out.println("HashMap size: " + userMap.size());
        //очищаем карту
    //  removeAll();
        //удаляем юзера по извесным данным
        removeSpecific("Alex", 6, 1, 1980);
    }
    
    //получаем корректную дату
    public static Date getDate(int year, int month, int day) { return new Date(year, month --, day-3); }
    
    //вычищаем карту и смотрим что записей 0
    static void removeAll()
    {
        userMap.clear();
        System.out.println("HashMap size: " + userMap.size());
    }
    
    //метод на то чтобы убрать конкретного пользователя из карты
    static void removeSpecific(String name, int month, int day, int year)
    {
        Date date;
        int userMonth, userDay, userYear;
        
        month --;
        
        for(Map.Entry<String, Date> map : userMap.entrySet())
        {
            if(map.getKey().equalsIgnoreCase(name))
            {
                date = map.getValue();
                
                userMonth = date.getMonth();
                userDay = date.getDay();
                userYear = date.getYear();
                
                System.out.println("User " + map.getKey() + " Month " + userMonth + " Day " + userDay + " Year " + userYear);
                
                if(userMonth == month && userDay == day && userYear == year)
                    userMap.remove(name);
            }
        }
        
        // убеждаемся что нашего подозреваемого больше нет =)
        for(Map.Entry<String, Date> map : userMap.entrySet())
            System.out.println(map.getKey() + " " + map.getValue());
    }
}
надеюсь помог =)
0
 Аватар для we2seek
84 / 84 / 42
Регистрация: 25.01.2010
Сообщений: 386
24.01.2017, 02:41
Лучший ответ Сообщение было отмечено nublin1 как решение

Решение

Цитата Сообщение от Alradalion Посмотреть сообщение
Вам пишут, что у вас ошибка в 30 строке
Пишут в 30, а в приведенном примере в 29: MART
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.01.2017, 02:41
Помогаю со студенческими работами здесь

Удалить людей, имеющих одинаковые имена в HashMap
Всем привет, в общем дело такое: Tcnm список людей &lt;Фамилия, Имя&gt;, нужно найти людей с одинаковыми именами и удалить их полностью. Весь...

Не получается вывести и удалить последний элемент контейнера map
Не получается вывести и удалить последний элемент контейнера map. Для первого (begin) всё работает. А для последнего (end) даже не...

Есть записная книжка "filestream" где есть данные людей. Надо добавить данные через map container
Как добавить map в filestream и желательно примеры с файлстримами ali19158, пожалуйста, прочитайте правила форума и постарайтесь...

как удалить из строки несколько определённых слов?
у меня есть строка: &lt;?=$arItem?&gt; которая выводит примерно такое: Дубленка из тосканского ягненка с поясом и ассиметричным...

Удалить биты из определённых позиций (Bit Killer)
Вот задача! Write a program to remove (kill) all bits at position 3,3+step,3+2*step... In case last byte have less then 8-bits,add...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
Программный отбор значений справочника
Maks 21.03.2026
Установка программного отбора значений справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит предопределенное значение перечислений. Процедура. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru