Foros del Web » Programación para mayores de 30 ;) » Java »

Problema HashMap: No muestra correctamente los datos

Estas en el tema de Problema HashMap: No muestra correctamente los datos en el foro de Java en Foros del Web. Hola, mi duda es la siguiente: Alguien sabe porque a la hora de debuggear en eclipse cuando estoy en la vista variables llega un momento ...
  #1 (permalink)  
Antiguo 28/03/2013, 07:57
 
Fecha de Ingreso: marzo-2013
Mensajes: 3
Antigüedad: 11 años
Puntos: 0
Exclamación Problema HashMap: No muestra correctamente los datos

Hola, mi duda es la siguiente:

Alguien sabe porque a la hora de debuggear en eclipse cuando estoy en la vista variables llega un momento en el que 2 o 3 datos se pisan en el hashmap, y las keys son todas diferentes entre si, deberia mostrar 15 datos puestos en la tabla del hash y muestra 13 pero si hago un display de esa key que fue pisada EXISTE, y a la hora de iterar ese hashmap y pasarlo a un arraylist muestra 15 pero la mayoria de los datos mal
  #2 (permalink)  
Antiguo 28/03/2013, 08:10
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Respuesta: Problema HashMap: No muestra correctamente los datos

Difícil ayudarte sin ver nada de nada. Lo más probable es que tu código esté haciendo "barrabasadas" con el Hashmap, me fio más de que el debugger de eclipse te muestre correctamente lo que realmente hay ;)

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 28/03/2013, 08:24
 
Fecha de Ingreso: marzo-2013
Mensajes: 3
Antigüedad: 11 años
Puntos: 0
Respuesta: Problema HashMap: No muestra correctamente los datos

te pego el codigo pero a lo mejor vas a necesitar que te explique un poco que es lo que necesito

Código java:
Ver original
  1. for (Iterator iter = myDBResultList.iterator(); iter.hasNext();)
  2.         {
  3.             AlerteOppDB alerteOppDB = (AlerteOppDB) iter.next();
  4.            
  5.             if(user.hasProfile(PRC.class)){
  6.            
  7.                 AlerteOppBean alerteOppBean = MetierDBFactory.getInstance().createAlerteOpportunite(user,                                                                      
  8.                                                                             (!user.hasProfile(PRC.class) ? 0 : alerteOppDB.getNonAffectee().intValue()),
  9.                                                                             alerteOppDB.getATraiter().intValue(),
  10.                                                                             alerteOppDB.getEncours().intValue(),
  11.                                                                             alerteOppDB.getTransformee().intValue(),
  12.                                                                             alerteOppDB.getNonTransformee().intValue(),
  13.                                                                             alerteOppDB.getNomCommercial(),
  14.                                                                             alerteOppDB.getCodeRRDI(),
  15.                                                                             alerteOppDB.getCodeContrat(),
  16.                                                                             alerteOppDB.getIdPlaque(), false);
  17.                
  18.                 alerteOppBean.setLignePlaque(false);
  19.                 alerteOppBean.setLigneContrat(false);
  20.                
  21.                
  22.                
  23.                 // Actualizacion de la PLACA
  24.                 if(hashResult.containsKey(alerteOppBean.getIdPlaque())){
  25.                     AlerteOppBean alerteOppBeanAux = (AlerteOppBean) hashResult.get(alerteOppBean.getIdPlaque());
  26.                     alerteOppBeanAux.setATraiter(Integer.toString(Integer.parseInt(alerteOppBeanAux.getATraiter())+Integer.parseInt(alerteOppBean.getATraiter())));
  27.                     alerteOppBeanAux.setNonAffectees(Integer.toString(Integer.parseInt(alerteOppBeanAux.getNonAffectees())+Integer.parseInt(alerteOppBean.getNonAffectees())));
  28.                     alerteOppBeanAux.setNonTransformee(Integer.toString(Integer.parseInt(alerteOppBeanAux.getNonTransformee())+Integer.parseInt(alerteOppBean.getNonTransformee())));
  29.                     alerteOppBeanAux.setTransformee(Integer.toString(Integer.parseInt(alerteOppBeanAux.getTransformee())+Integer.parseInt(alerteOppBean.getTransformee())));
  30.                     alerteOppBeanAux.setEncours(Integer.toString(Integer.parseInt(alerteOppBeanAux.getEncours())+Integer.parseInt(alerteOppBean.getEncours())));
  31.                     alerteOppBeanAux.setCodeRrdi(alerteOppBean.getCodeRrdi());
  32.                     alerteOppBeanAux.setCodeContrat(alerteOppBean.getCodeContrat());
  33.                     alerteOppBeanAux.setIdPlaque(alerteOppBean.getIdPlaque());
  34.                     alerteOppBeanAux.setLibelle(alerteOppBeanAux.getIdPlaque());
  35.                     alerteOppBeanAux.setLignePlaque(true);
  36.                     alerteOppBeanAux.setLigneContrat(false);
  37.                    
  38.                    
  39.                    
  40.                 } else { // Nueva PLACA
  41.                     alerteOppBean.setLignePlaque(true);
  42.                     alerteOppBean.setLigneContrat(false);
  43.                     alerteOppBean.setLibelle(alerteOppBean.getIdPlaque());
  44.                    
  45.                    
  46.                    
  47.                 }
  48.                
  49.                 // Actualizacion de CONTACTO
  50.                 if(hashResult.containsKey(alerteOppBean.getIdPlaque()+" "+alerteOppBean.getCodeContrat())){
  51.                     AlerteOppBean alerteOppBeanAux = (AlerteOppBean) hashResult.get(alerteOppBean.getIdPlaque()+" "+alerteOppBean.getCodeContrat());
  52.                     if(alerteOppBeanAux.getIdPlaque().equalsIgnoreCase(alerteOppBean.getIdPlaque())){
  53.                         alerteOppBeanAux.setATraiter(Integer.toString(Integer.parseInt(alerteOppBeanAux.getATraiter())+Integer.parseInt(alerteOppBean.getATraiter())));
  54.                         alerteOppBeanAux.setNonAffectees(Integer.toString(Integer.parseInt(alerteOppBeanAux.getNonAffectees())+Integer.parseInt(alerteOppBean.getNonAffectees())));
  55.                         alerteOppBeanAux.setNonTransformee(Integer.toString(Integer.parseInt(alerteOppBeanAux.getNonTransformee())+Integer.parseInt(alerteOppBean.getNonTransformee())));
  56.                         alerteOppBeanAux.setTransformee(Integer.toString(Integer.parseInt(alerteOppBeanAux.getTransformee())+Integer.parseInt(alerteOppBean.getTransformee())));
  57.                         alerteOppBeanAux.setEncours(Integer.toString(Integer.parseInt(alerteOppBeanAux.getEncours())+Integer.parseInt(alerteOppBean.getEncours())));
  58.                         alerteOppBeanAux.setCodeRrdi(alerteOppBean.getCodeRrdi());
  59.                         alerteOppBeanAux.setCodeContrat(alerteOppBean.getCodeContrat());
  60.                         alerteOppBeanAux.setIdPlaque(alerteOppBean.getIdPlaque());             
  61.                         alerteOppBeanAux.setLibelle(LibelleServiceHelper.getInstance().retrieveLibelle(user, OpportuniteServiceConstants.ACCUEIL_LIBELLE_CONTRAT, user.getLocaleBGC()) + " " + alerteOppBean.getCodeContrat());
  62.                         alerteOppBeanAux.setLigneContrat(true);
  63.                         alerteOppBeanAux.setLignePlaque(false);
  64.                        
  65.                        
  66.                         hashResult.put(alerteOppBean.getIdPlaque()+" "+alerteOppBean.getCodeContrat(), alerteOppBeanAux);
  67.                                            
  68.                     } else { // Nuevo CONTACTO
  69.                         alerteOppBean.setLigneContrat(true);
  70.                         alerteOppBean.setLignePlaque(false);
  71.                         alerteOppBean.setLibelle(LibelleServiceHelper.getInstance().retrieveLibelle(user, OpportuniteServiceConstants.ACCUEIL_LIBELLE_CONTRAT, user.getLocaleBGC()) + " " + alerteOppBean.getCodeContrat());
  72.                    
  73.                        
  74.                        
  75.                         hashResult.put(alerteOppBean.getIdPlaque()+" "+alerteOppBean.getCodeContrat(), alerteOppBean);
  76.                        
  77.                     }
  78.                 } else { // Nuevo CONTACTO
  79.                     alerteOppBean.setLigneContrat(true);
  80.                     alerteOppBean.setLignePlaque(false);
  81.                     alerteOppBean.setLibelle(LibelleServiceHelper.getInstance().retrieveLibelle(user, OpportuniteServiceConstants.ACCUEIL_LIBELLE_CONTRAT, user.getLocaleBGC()) + " " + alerteOppBean.getCodeContrat());
  82.                    
  83.                    
  84.                     hashResult.put(alerteOppBean.getIdPlaque()+" "+alerteOppBean.getCodeContrat(), alerteOppBean);
  85.                    
  86.                 }
  87.             }
  88.         }
  89.        
  90.         Iterator it = hashResult.entrySet().iterator();
  91.         while (it.hasNext()) {
  92.             Map.Entry e = (Map.Entry)it.next();
  93.             AlerteOppBean alerteOppBean = (AlerteOppBean) e.getValue();
  94.             myResultList.add(alerteOppBean);
  95.         }

Etiquetas: correctamente, hashmap, muestra
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:13.