Vector en java
Résolu/Fermé
amal-these
Messages postés
25
Date d'inscription
mercredi 3 juin 2015
Statut
Membre
Dernière intervention
28 mai 2016
-
24 avril 2016 à 19:35
amal-these Messages postés 25 Date d'inscription mercredi 3 juin 2015 Statut Membre Dernière intervention 28 mai 2016 - 28 avril 2016 à 12:04
amal-these Messages postés 25 Date d'inscription mercredi 3 juin 2015 Statut Membre Dernière intervention 28 mai 2016 - 28 avril 2016 à 12:04
A voir également:
- Vector en java
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
- Java décompiler - Télécharger - Langages
1 réponse
NHenry
Messages postés
15209
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
12 avril 2025
360
24 avril 2016 à 19:40
24 avril 2016 à 19:40
Après l'ajout, réinstancies B avec un nouveau "new" pour générer un nouvel objet.
24 avril 2016 à 20:07
B est une référence, l'objet que tu mets dans E est une référence, mais l'objet qu'il y a derrière ces deux références c'est le même, donc la modification de l'objet impacte forcément les deux références.
Il faut donc créer des objets distincts pour éviter les effets de bords.
Remarques :
24 avril 2016 à 20:11
Suite à votre réponse j'ai deux questions si vous me permettez :
1. Qu'elle est la cause de ce problème?
2. Si je veux conserver le B je peux pas le ré instancier ?
Merci
24 avril 2016 à 20:28
S'il vous plait je veux savoir comment je peux initialiser le E de type : Vector<Vector<Double>>, si je passe pas par B et le tableau?
Merci
24 avril 2016 à 20:32
Même si je te conseilles plutôt d'avoir une List<List<List<Double>>> et de remplacer les Vector par des ArrayList.
Pour bien t'aider est-ce que tu pourrais nous donner un peu plus de code, pour voir comment tu fais actuellement pour remplir ton tableau E avec B ?
27 avril 2016 à 00:54
alors mes données sont stockées dans une matrice A car je lis à partir d'un fichier:
double[][] A= {{1,2,0.3,0.1},
{3,4,1,0.7},
{5,6,0.1,0.2},
{1.5,2.3,0.3,0.1},
{0.5,0.3,0.3,0.1},
{0.5,0.6,0.1,0.2},
{5.1,6,0.2,0.2},
{0.9,0.4,0.7,0.2},
{2.4,3.5,1,0.7},
{3.1,4,1.2,1.8},
{3.1,4,1.2,1.7},
{3.1,4,1.2,1.9},
{3.1,4,1.2,0.8},
{3.2,4.1,1.2,0.8},
{3,5,1.2,0.8}
};
chaque ligne de A représente une donnée.
Je travaille sur la classification alors j'ai codé la partition par une variable E de type Vector <Vector<double[]>> : double[] contient une donnée de A c'est pour cela que j'ai travaillé avec un tableau. Vector<double[]> représente une classe qui est un ensemble de données de A. et Vector <Vector<double[]>> c'est un ensemble de classe.
Alors j'ai pensé comme ça pour programmé une partition qui prend les données d'une matrice.
Si vous voyez autre façon pour les types, merci de me les décrire.
Construction de E :
puisque E.elementAt(0) n'existe pas encore mm si j'ai instancié E, je déclare B de type : Vector<double[]> je la remplie par B.add(A[i]) et puis E.add(B).
j'espère que j'ai bien expliqué. Je vous remercie beaucouuuup pour votre aide.