Pronostico.java :  » UnTagged » quiniandroid » pronosticos » Android Open Source

Android Open Source » UnTagged » quiniandroid 
quiniandroid » pronosticos » Pronostico.java
package pronosticos;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import temporadas.Jornada;
import temporadas.Partido;
import temporadas.Temporada;

public class Pronostico {
  
  /*mapaGordo es un mapa donde se almacena como clave un String que representa el nombre de un equipo,
   * y el valor asociado es una lista de objetos del tipo stdLocal, que es una clase que posee 4 atributos,
   * 3 enteros que representan el nmero de "1", "x", "2" y un string que representa al equipo visitante.
   * Todos poseen metodos observadores y modificadores*/
  
  Map<String, List<stdLocal>>mapaGordo;
    
  public Pronostico (List<Temporada> lt){
    
    Map<String,List<stdLocal>> m=new HashMap<String, List<stdLocal>>();
    
    /*Por cada temporada cogemos cogemos todas las jornadas y por cada jornada todos los partidos*/
    
    for(Temporada t:lt){
      for(Jornada j: t.getJor()){//cada temporada tiene una lista de jornadas
        for(Partido p: j.getPartidos()){//cada jornada tiene una lista de objetos partido
            //List<stdLocal> l= new ArrayList<stdLocal>();
            
            /*obtiene losdatos del partido*/
            String casa=p.geteCasa();
            String visit=p.geteVisitante();
            String result=p.getResultado();
            
            //Si el equipo local no esta en el mapa lo pongo y le aado su lista
            if(!m.containsKey(casa)){
              //System.out.println("no esta la clave");
              List<stdLocal> l= new ArrayList<stdLocal>();
              stdLocal loc=new stdLocal(visit,0,0,0);
              if(result.equals("1")){
                loc.setUno(1);
              }
              if(result.equals("X")){
                loc.setX(1);
              }
              if(result.equals("2")){
                loc.setDos(1);
              }
              
              l.add(loc);
              m.put(casa,l);
              //System.out.println(m.keySet()+" "+m.values());
              
                          
            }else{
              //si el equipo esta(Key), seconsulta si el visitante ha aparecido ya(en la lista), y si
              //est actualizaremos los resultados
              boolean yaesta=false;
              //recorre la lista de valores asociados a la clave preguntando por el nombre
              for(stdLocal equipo:m.get(casa)){
                if (equipo.getEquipoVisit().equals(visit))
                    yaesta=true;
                //System.out.println(equipo.getEquipoVisit()+"  "+(visit));
              }
              if(yaesta){
                int indice=0;
                for(stdLocal aux:m.get(casa)){
                  if (!aux.getEquipoVisit().equals(visit))
                    indice++;
                  else
                    break;
                }
                //int indice= m.get(casa).indexOf(visit);
                //System.out.println(indice);
                //System.out.println(m.get(casa).size());
                stdLocal loc=m.get(casa).get(indice);
                if(result.equals("1")){
                  int uno=loc.getUno()+1;
                  loc.setUno(uno);
                }
                if(result.equals("X")){
                  int equis=loc.getX()+1;
                  loc.setX(equis);
                }
                if(result.equals("2")){
                  int dos=loc.getDos()+1;
                  loc.setDos(dos);
                }
                yaesta=false;
                //System.out.println("he entrado");
              //en caso de que el visitante sea nuevo se aade a la lista y actualiza el map  
              }else{
                stdLocal loc=new stdLocal(visit,0,0,0);
                if(result.equals("1")){
                  loc.setUno(1);
                }
                if(result.equals("X")){
                  loc.setX(1);
                }
                if(result.equals("2")){
                  loc.setDos(1);
                }
                
                m.get(casa).add(loc);
                
              }
                          
            }
                  
        }
      }
      
    }
    
    this.mapaGordo=m;
    
  }

  public Map<String, List<stdLocal>> getM() {
    return mapaGordo;
  }

  public void setM(Map<String, List<stdLocal>> m) {
    this.mapaGordo = m;
  }
  
  
  
  
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.