Hallo,
Ich schreibe grade an einem Programm, bei dem ich String-IDs mit Werten Verknüpfen möchte. Allerdings wenn ich die Maps schrittweise füllen möchte, überschreibt die Map schon vorhandene Einträge. Hier ist mal ein Codeauszug, ähnliche Maps sind noch an mehr Stellen vorhanden.
wie kann man verhindern, dass neue Werte alte überschreiben?
Ich schreibe grade an einem Programm, bei dem ich String-IDs mit Werten Verknüpfen möchte. Allerdings wenn ich die Maps schrittweise füllen möchte, überschreibt die Map schon vorhandene Einträge. Hier ist mal ein Codeauszug, ähnliche Maps sind noch an mehr Stellen vorhanden.
Code:
HashMap<String,Object> vertexMap = new HashMap<String,Object>();
List<Object> vertexList = new ArrayList<Object>();
try{vertexList = XPath.selectNodes(getIemStateDescriptions(), "./iemStateDescription[@State.type=\"Produkt\"]");}
catch (JDOMException e){System.out.println("JDOMException");}
for(Object o : vertexList){
Element vertex = (Element) o;
for(Object gr : graphList){
Element graphEle = (Element) gr;
Element graphDecomposition = new Element("leer");
try{graphDecomposition = (Element) XPath.selectSingleNode(getIemProcessDecomposition(), "./iemDecompositionElement[@State.ID=\""+graphEle.getAttributeValue("State.ID")+"\"]");}
catch (JDOMException e){System.out.println("JDOMException");}
Object vertexDec = null;
try{vertexDec = XPath.selectSingleNode(graphDecomposition, "./iemSubLevel/iemDecompositionElement[@State.ID=\""+vertex.getAttributeValue("State.ID")+"\"]");}
catch (JDOMException e){System.out.println("JDOMException");}
if(vertexDec != null){
Object newVertex = VertexFactory.getInstance().create();
vertexMap.put(vertex.getAttributeValue("State.ID"), newVertex);
//System.out.println(vertexMap.get(vertex.getAttributeValue("State.ID")).hashCode());
graphMap.get(graphEle.getAttributeValue("State.ID")).addVertex((Number)newVertex);
//System.out.println(vertexMap.get(vertex.getAttributeValue("State.ID")).hashCode());
}
}
}