Bonjour,
Comment transformer un tableau d'objects[][] en Vector ?
d'avance merci.
Version imprimable
Bonjour,
Comment transformer un tableau d'objects[][] en Vector ?
d'avance merci.
Bonjour,
Object[][] => 2 dimensions
Vector => 1 dimension
8O
Qu'est-ce que tu veux faire exactement ?
Réponse A : Faire un Vector<Object>
Réponse B : Faire un Vecteur<Object[]>
Réponse C : Faire un Vecteur<Vecteur<Object>>
Réponse D : Pas de réponse jean-pierre
Je veux simuler la méthode table.getModel()).getDataVector(); d'une Jtable.
Hors, comme mon model étend AbstractTableModel, cette méthode n'est pas disponible.
j'imagine que les valeurs doivent être consécutives sur une ligne, puis ligne après ligne...
Je connais très mal JTable mais juste une possibilité :
Peux-tu faire que ton modèle étende DefaultTableModel plutôt que AbstractTableModel ?
Je m'en sors comme ceci:
Non, malheureusement, je ne peux pas utiliser DefaultTableModel (cela aurait été trop simple)Code:
1
2
3
4
5
6
7 Vector v = new Vector(); int z = 0 ; for(int i=0 ; i < datas.length; i++) { for(int j=0; j<datas[0].length;j++) v.add(z++,datas[i][j]); }
"getDataVector" retourne un Vecteur de Vecteur, soit plutôt ceci :
Code:
1
2
3 Vector v = new Vector(datas.length); for (int i=0; i<datas.length; i++) v.add(new Vector(Arrays.asList(datas[i])));
Réponse C Jean Pierre et c'est mon dernier mot :mrgreen:.
Comme indiqué dans la doc, la méthode getDataVector() renvoie un Vecteur<Vecteur<Object>>.
A partir de là deux petits for imbriqués suffisent ;).
Code:
1
2
3
4
5
6
7
8
9
10
11
12 public Vector<Vector<Object>> getDataVector() { Vector<Vector<Object>> vData = new Vector<Vector<Object>>(); // data est le Object[][] for(Object[] row : data) { Vector<Object> vRow = new Vector<Object>(); for(Object item : row) { vRow.add(item); } vData.add(vRow); } return vData; }
Merci Jean-Pierre ;)