Невозможно получить значения из хэш-карты, в которой в качестве значения очищается массив - PullRequest
0 голосов
/ 07 июля 2011

Я работаю над фрагментом кода, который имеет Hashmap.Этот hashmap имеет строку в качестве ключа и массив данных в качестве значения.Я заполняю arraylist и затем помещаю значение в hashmap.После ввода значения я хочу очистить массив, чтобы старые значения отсутствовали.

Пожалуйста, см. Код ниже:

ArrayList<Bean> elements = new ArrayList<Bean>();

        for(int j=0; j<array.length; j++){
            String[] id = {"2439","70212","9021","0104","0255","10353","3889","8990","10277"};
            String[] Title = {"Gulliver","Good=Guys","Gnomeo","Gene","ABCD","High","Green=Lantern","Gnomeo2","WXYZ"};
            for(int i=0; i<id.length; i++){
                Bean bean = new bean();
                bean.ID(id[i]);
                bean.Title(title[i]);
                elements.add(bean);
            }
            udbResults.put(array[j], elements);
            elements.clear();
        }

Теперь, когда я пытаюсь распечатать значения из хэш-картыЯ не получаю никакого контента.Это может быть из-за arraylist.clear ().Почему это происходит?

Кроме того, я не хотел создавать новый массив списков для каждой информации, поэтому я хотел удалить содержимое, но оно не работает.

Любой способ сделать это.

Спасибо,

Свати

1 Ответ

2 голосов
/ 07 июля 2011

то, что вы делаете, это просто создаете и заполняете аррэйлист, затем вы помещаете ссылку на аррэйлист в hashmap ... так что теперь у вас есть 2 ссылки для одного аррэйлиста. Один был назван «элементами», другой - в hashmap. И затем вы удаляете все элементы из вашего массива. Потому что вы потеряете все. Так что теперь у вас все еще есть две ссылки, кроме пустого массива

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...