IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Collection et Stream Java Discussion :

[MAP] egalité dans IF


Sujet :

Collection et Stream Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Katachana
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2007
    Messages : 755
    Par défaut [MAP] egalité dans IF
    Bonjour, je souhaite faire ceci a partir d'une MAP :
    - si la value finish est vide {}
    - sinon si la value deb != de null et value finish != null {}
    - sinon {}

    Pour la premiere ligne je n'arrive pas a faire l'egalité, j'ai essayer equals, compareTo, contains et tout betement =="" , mais ca ne marche pas.

    Je met le code afin que vous puissez voir les types de chaque variables.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    	public void afficheMap(){
    		for(Iterator it = map.entrySet().iterator(); it.hasNext();) {
    			Entry e = (Entry) it.next();
    			Object k = e.getKey();
    			Object v = e.getValue();
    			for (Iterator j = ((AbstractList<GregorianCalendar>) v).iterator() ; j.hasNext() ; ) {
    			    Interval intervalle = (Interval) j.next();				    
    			    String deb=intervalle.getStart();
    			    String finn=intervalle.getFinish(); 
    			    String jour=intervalle.getJour();
    			    	String temp="";	    				}		
    			}
    	}


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    			    if(intervalle.getFinish().contains(temp)){
    			    	System.out.println("NOM : "+ k+" -- Date de conges :   "+deb);	
    			    }
    			    else if(deb!=null && finn!=null){
    				System.out.println("NOM : "+ k+" -- DEbut :   "+deb+"  Fin : "+finn);}
    			    else{
    				System.out.println("NOM : "+k+" -- Jour d'absence : "+jour)  ; 
    			   		}
    Merci d'avance

  2. #2
    Membre Expert
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Par défaut
    Pas compris ... Tu as un Iterator sur une ArrayList de GregorianCalendar et tu en sors des Interval ??? C'est quoi cette classe Interval ?

  3. #3
    Membre éclairé Avatar de Katachana
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2007
    Messages : 755
    Par défaut
    La voici , c'est peut etre un peu bizarre ca je te l'accorde mais je dois me former en meme que la réalisation de cette appli (jamais fait de java avant...)



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
     
     
     
    public class Interval {
     
    	private String start;
     
    	private String finish;
     
    	private String jour;
     
    	public String getFinish() {
    		return finish;
    	}
     
    	public void setFinish(String finish) {
    		this.finish = finish;
    	}
     
    	public String getStart() {
    		return start;
    	}
     
    	public void setStart(String start) {
    		this.start = start;
    	}
     
    	  public String toString() {
    		  if(start!=null)
    		    return "(" + start + ", " + finish + ")" ;
    		  else
    			  return "("+jour+")";		  
    	  }
     
    	public String getJour() {
    		return jour;
    	}
     
    	public void setJour(String jour) {
    		this.jour = jour;
    	}	
    }

  4. #4
    Membre Expert
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Par défaut
    Quand tu l'exécutes ton code ça donne quoi ???
    Sinon, je vois pas le rapport entre ton Iterator et tes Interval ...
    Si tu as pas un ClassCastException je comprends vraiment pas ...

  5. #5
    Membre éclairé Avatar de Katachana
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2007
    Messages : 755
    Par défaut
    ca me donne ca :
    NOM : FR-Formation-EM-4 -- DEbut : 2006-12-25 Fin :
    NOM : FRxxxxxxxxx -- DEbut : 2007-01-01 Fin :
    NOM : FR-xxxxxxxxxx4 -- DEbut : 2006-12-25 Fin :
    NOM : FRxxxxxxxxxxx4 -- DEbut : 2007-01-01 Fin :
    NOM : FRxxxxxxxxxxx4 -- DEbut : 2007-03-19 Fin : 2007-03-23
    NOM : FRxxxxxxxxxxx4 -- DEbut : 2007-03-26 Fin : 2007-03-30
    NOM : FRaaaaaa4 -- Jour d'absence : WED
    NOM : FR-zzzzzz4 -- DEbut : 2007-01-01 Fin :
    NOM : FRzzzzzzz4 -- DEbut : 2007-01-22 Fin : 2007-01-23
    NOM : FRzzzzzzz4 -- DEbut : 2007-02-19 Fin : 2007-02-20
    NOM : FRzzzzzzz4 -- DEbut : 2007-03-26 Fin : 2007-03-27
    en fait dans l'arraylist je stock des segments de dates qui sont totalement variable et ensuite ca va dans une map.

    Voila le code qui rempli la MAP :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    	public void appelint(String nom,String datedeb, String datefin) throws ParseException {
    		ArrayList<Interval> lst = (ArrayList<Interval>)map.get(nom);
    		if(lst==null){
    			lst= new ArrayList<Interval>();	
    			map.put(nom,lst);			   		}
    		Interval j =new Interval() ;
    		j.setStart(datedeb);
    		j.setFinish(datefin);
    		lst.add(j); 	
    		map.put(nom,lst);

    je cherche a identifié tous les cas possible (cf mon souci des if) pour pouvoir comparer tous ca avec d'autres dates et d'autres segments de dates...........

  6. #6
    Membre Expert
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Par défaut
    Tu peux remplacer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    if(intervalle.getFinish().contains(temp)){
    System.out.println("NOM : "+ k+" -- Date de conges :   "+deb);	
    }
    else if(deb!=null && finn!=null){
    System.out.println("NOM : "+ k+" -- DEbut :   "+deb+"  Fin : "+finn);}
    else{
    System.out.println("NOM : "+k+" -- Jour d'absence : "+jour)  ; 
    }
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    System.out.println("finn vaut |"+finn+"| et temp vaut |"+temp+"|");
    if(finn.equals(temp)){
    System.out.println("NOM : "+ k+" -- Date de conges :   "+deb);	
    }
    else if(deb!=null && finn!=null){
    System.out.println("NOM : "+ k+" -- DEbut :   "+deb+"  Fin : "+finn);
    }
    else{
    System.out.println("NOM : "+k+" -- Jour d'absence : "+jour); 
    }
    pour voir ce que ça donne à l'exécution ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 10/06/2010, 16h22
  2. [Google Maps] Informations dans les bulles
    Par artichaudd dans le forum APIs Google
    Réponses: 0
    Dernier message: 15/04/2010, 18h42
  3. [nagios] 3-D Status map : tourne dans le vide ?
    Par marveljojo75 dans le forum Réseau
    Réponses: 0
    Dernier message: 07/01/2009, 11h58
  4. probleme de mapping (xml) dans le cas d'un package
    Par bim92i dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 30/04/2008, 11h36
  5. [mapping subclass dans la classe parent]
    Par mamata dans le forum Hibernate
    Réponses: 1
    Dernier message: 11/07/2007, 15h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo