Привет всем Я использую HashMap, чтобы держать один из моих объектов с ключом строки. когда я помещаю объект с ключом, у него нет проблем, когда я помещаю второй объект, я добавляю свой объект, но не могу получить его с его ключом. В некоторой степени это идет куда-то, что является "следующим". Я сделал скриншот из режима отладки (затмение) ниже
, хотя размер показывает 2, я не вижу свой второй элемент в hashmap, но в следующем узле другого hashmap.
Чтобы заметить что-то, я использую свой ключ, например, в форме «name.tag», тэг и имя в одно и то же время никогда не могут быть одинаковыми, но «тэг» может быть одинаковым. hashmap как-то связан с оператором точки при оценке ключей? Я надеюсь, что смог бы написать ясно,
Заранее спасибо
Edit:
Вот фрагмент кода, который я использую для создания своей хэш-карты
private HashMap<String,ParameterItem> parseParametersNode(DataModel parent,Element element){
NodeList parameterChilds=element.getChildNodes();//gep element parameters
HashMap<String, ParameterItem> parameterItems=new HashMap<String, ParameterItem>();
for(int i=0;i<parameterChilds.getLength();i++){
if(parameterChilds.item(i).getNodeType()==Node.ELEMENT_NODE){
Element el=(Element) parameterChilds.item(i);
NamedNodeMap atts=el.getAttributes();
ParameterItem item=new ParameterItem();
for(int j=0;j<atts.getLength();j++){
Attr attribute=(Attr) atts.item(j);
String attributeValue=attribute.getValue();
String attributeName=attribute.getName();
item.setParsedProperty(attributeName, attributeValue);
} /*check attributes later*/
//finish loop and insert paramitem to params
String key="key"+i;
if(item.getTag()!=null && item.getName()!=null)
key=item.getName()+"."+item.getTag();
parameterItems.put(key, item);
// testParam=item;
// parameterItems.put(key, testParam);
}
}
return parameterItems;
}