Créer relation entre objet d'un ArrayList

Fermé
drspinoza Messages postés 51 Date d'inscription dimanche 25 octobre 2015 Statut Membre Dernière intervention 9 mai 2016 - 14 févr. 2016 à 21:17
drspinoza Messages postés 51 Date d'inscription dimanche 25 octobre 2015 Statut Membre Dernière intervention 9 mai 2016 - 17 févr. 2016 à 02:10
Bonjour,

Pour être plus précis sur la question:
  • J'ai un ArrayList avec 4 objet : p1, p2, p3, p4.
  • Parmi ces objets certain sont parents d'autre frères .. Je dois faire une sorte de Genealogie.

-J'ai 3 méthodes pour les parents :
  • Deux methodes void definirParent1 ( U moi"le fils" , U parent1) même chose definirParent2.

public void definirParent1(U moi, U parent1){}
	/**
	 * @param moi, un individu
	 * @param parent2, un individu second parent de moi
	 */
  • Ensuite une méthode ArrayList<U> lesParents (U moi ). Cette méthode retourne une liste <[null,null]> ou <[ parent1 , null]> ou <[null, parent2]> ou <[ parent1, parent 2]>.

public ArrayList<U> lesParents(U moi){}
	/**
	 * @param moi, un individu
	 * @return, retourne la liste des deux individus parents, cette liste peut    
            comporter
	 * des éléments nuls si les parents correspondants ne sont pas connus
	 */


le problème c'est que les parents doivent être stocké en fonction de l'individu et être modifiable ou réutilisable en tout temps.
  • Pour mieu comprendre voici le test pour les Parents.

	public void testLesParents() {
		Gen<Personne> g = new Gen<Personne>();
		g.ajout(p1);
		g.ajout(p2);
		g.ajout(p3);
		g.ajout(p4);
		ArrayList<Personne> e = new ArrayList<Personne>();
		e.add(null);
		e.add(null);
		assertEquals(e, g.lesParents(p1));
		e = new ArrayList<Personne>();
		e.add(p3);
		e.add(null);
		g.definirParent1(p1, p3);
		assertEquals(e,g.lesParents(p1));
		e = new ArrayList<Personne>();
		e.add(null);
		e.add(p4);
		g.definirParent2(p2,p4);
		assertEquals(e,g.lesParents(p2));
		e = new ArrayList<Personne>();
		g.definirParent2(p1, p4);
		e = new ArrayList<Personne>();
		e.add(p3);
		e.add(p4);
		assertEquals(e, g.lesParents(p1));
	}

Toute aide est la bienvenue ,
Merci,
A voir également:

1 réponse

drspinoza Messages postés 51 Date d'inscription dimanche 25 octobre 2015 Statut Membre Dernière intervention 9 mai 2016
16 févr. 2016 à 22:04
Aucune réponse.
Ma question est mal formulé ?
J'ai vraiment besoin d'une direction à suivre pour ce problème.
0
faseldi Messages postés 279 Date d'inscription dimanche 9 novembre 2014 Statut Membre Dernière intervention 3 janvier 2017 20
17 févr. 2016 à 01:44
Coucou, pour savoir le type d'un objet, tu peux faire boolean bool = (p1 instanceof Parent);

Je sais pas si c'est exactement ça que tu cherches, mais si c'est une façon de vérifier le type d'un objet alors c'est tout bon :)

Désolé du retard :)
0
drspinoza Messages postés 51 Date d'inscription dimanche 25 octobre 2015 Statut Membre Dernière intervention 9 mai 2016 > faseldi Messages postés 279 Date d'inscription dimanche 9 novembre 2014 Statut Membre Dernière intervention 3 janvier 2017
17 févr. 2016 à 02:10
Merci,

En fait p1 est un objet individu avec un nom prénom ....
Ce que j'essai de faire c'est d'implanter les méthodes d'interfaces ( définir parent ) et ( lesParents ).
Mais je n'arrive pas.
J'ai mal rédiger la question je vais re-tenter plus tard.
0