Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
2 / 2 / 0
Регистрация: 29.01.2015
Сообщений: 25

Пропадают данные из HashMap

18.04.2016, 21:07. Показов 810. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задание такое: парсим данные и закидываем их в HashMap. При записи они есть, но при чтении их нет! Что делать, помогите пожалуйста! Буду благодарен за любую подсказку! Код, где мы записываем данные в коллекцию:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 private void addModelToList(ReplaceModel model, List<ReplaceModel> list) {
        list.add(model);
        Log.e("samuliak", "list.get(0).getGroup: "+list.get(0).getGroup());
        Log.e("samuliak", "model: : "+model.toString());
        if (!listOfObj.containsKey(list.get(0).getGroup()))
            listOfObj.put(list.get(0).getGroup(), list);
        else {
 
            List<ReplaceModel> rm = listOfObj.get(list.get(0).getGroup())
                    .subList(0, listOfObj.get(list.get(0).getGroup()).size());
            Log.e("samuliak", "rm.size(): : "+rm.size());
            for (ReplaceModel r : rm)
                list.add(r);
            listOfObj.put(list.get(0).getGroup(), list);
        }
        listModel.add(list);
        list.clear();
        Log.e("samuliak", "listofObj.size(): : "+listOfObj.size());
        Log.e("samuliak", "listofObj.values().size: : "+listOfObj.values().size());
    }
А вот код где мы считываем из него данные:
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
67
68
69
70
private void initCardViewInfo() {
        GridLayout gridLayout = (GridLayout) findViewById(R.id.gridGroup);
        assert gridLayout != null;
        gridLayout.removeAllViews();
        Button btnGroup;
        int typeSize = display.getHeight()/135;
        int total = listGroup.size();
        int column = 4;
        int row = total / column;
        gridLayout.setColumnCount(column);
        gridLayout.setRowCount(row + 1);
 
        for(int i = 0, c = 0, r = 0; i < total; i++,c++){
            if(c == column) {
                c = 0;
                r++;
            }
            GridLayout.LayoutParams param = new GridLayout.LayoutParams();
            param.height = display.getHeight() / 15;
            param.width = display.getWidth() / (column+2);
            param.rightMargin = 5;
            if (c == 0){
                param.leftMargin = display.getWidth() / (column+4);
            }
            if (c+1 == column){
                param.rightMargin = display.getWidth() / (column+4);
            }
            param.setGravity(Gravity.CENTER_HORIZONTAL);
            param.columnSpec = GridLayout.spec(c);
            param.rowSpec = GridLayout.spec(r);
 
            btnGroup = new Button(this);
            btnGroup.setText(listGroup.get(i));
            btnGroup.setTextSize(typeSize);
            btnGroup.setTextAlignment(View.TEXT_ALIGNMENT_CENTER);
            btnGroup.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    Log.e("samuliak", "Click is OK");
                    //CardView cardReplace = (CardView) findViewById(R.id.cardReplace);
                    //assert cardReplace != null;
                    //cardReplace.setVisibility(View.VISIBLE);
                    LinearLayout linearReplace = (LinearLayout) findViewById(R.id.linearReplace);
                    for (List<ReplaceModel> list : listModel) {
                        Log.e("samuliak", "list size: "+list.size());
                        for (ReplaceModel m : list) {
                            Log.e("samuliak", "ReplaceModel m: " + m.toString());
                            if (((Button) v).getText() == m.getGroup()) {
                                Log.e("samuliak", "Find getText: " + m.getGroup());
                                int typeSize = display.getHeight() / 135;
                                ViewGroup.LayoutParams param = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,
                                        ViewGroup.LayoutParams.WRAP_CONTENT);
                                param.height = display.getHeight() / 15;
                                param.width = display.getWidth() / 6;
                                TextView tv = (TextView) findViewById(R.id.proverka);
                                tv.setText("Text from code");
//                                TextView tv = new TextView(v.getContext());
//                                tv.setText(m.toString());
//                                tv.setTextSize(typeSize);
                                //tv.setTextAlignment(View.TEXT_ALIGNMENT_CENTER);
                                Log.e("samuliak", "tv.toString(): " + tv.toString());
                                assert linearReplace != null;
//                                linearReplace.addView(tv);
                            }
                        }
                    }
                }
            });
            btnGroup.setLayoutParams(param);
            gridLayout.addView(btnGroup);
Логика такая: во внутреннем классе мы парсим данные и помещаем их в коллекцию, в основном классе мы добавляем на кнопки слушатели, при которых выводим нужную нам информацию из этой же коллекции. А в итоге у неё есть объекты (в нашем случаи это список объектов), но они пустые. Проверил при добавлении, все есть, добавляет, но почему то они затираются (
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.04.2016, 21:07
Ответы с готовыми решениями:

Вставка HashMap в HashMap меняет все элементы
Вставляю HashMap в HashMap генерируя карту доски для шахмат, привожу тестовый пример, вставляется только данные последней ячейки доски, с...

Не могу правильно перенести данные с property файла в Hashmap
Все привет, есть у меня вот такой класс, в нем хранятся словари для перевода с английского на Морзе и наоборот, а также методы...

Считать данные в HashMap, которые записаны попарно на строку
Всем доброго времени суток! Возник такой вопрос: Есть текстовый файл,в котором записаны данные в виде &quot;тег&quot; и числовое...

1
 Аватар для Frozik6k
12 / 12 / 7
Регистрация: 04.04.2016
Сообщений: 51
21.04.2016, 09:42
Вот этот кусок кода:
Java
1
2
listModel.add(list);
list.clear();
Мне кажется что list.clear(); лишнее. В listModel добавляется только ссылка на объект, а получается что сам объект ты затираешь
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.04.2016, 09:42
Помогаю со студенческими работами здесь

Как перенести данные с ArrayList в HashMap при этом погрупировать их?
Есть список елементов, их нужно погрупировать за условием (predicate.test()) и внести в HashMap. Ключ будет равен результату...

Пропадают данные
Теряются (периодически) данные на SOL SERVER примерно 5-15 записей в начале и в конце.В ручную уже достало.Мат обеспечение на FoxPro

Пропадают данные в переменых
Доброго времени суток. У меня вот такой код: Перем РезультатПоискаП1 Экспорт; Перем РезультатПоискаП2 Экспорт; ...

Почему пропадают данные
Есть программка под спойлером, переменная $_ce в условии не выврдится &lt;?php session_start(); if (isset ($_POST)) { echo...

Пропадают данные в POST
Вообще-то всё нормально, данные нормально подгружаются через пост и заносятся в бд, но лишь стоит добавить в форму хотя бы 1 файл, как...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru