en Java Comment convertissez-vous une arrayliste en un objet de tableau de deux dimensions [] []? P>
des commentaires: Je vais vous décrire le problème avec plus de détails: un fichier XML comprend une liste de contacts (par exemple le nom, l'adresse ...). La seule façon dont je peux obtenir ces informations est via une arracheliste, qui me sera donnée. Comme je dois stocker le contenu de cette liste de matrices dans une table pivotante Java de manière ordonnée, je pensais la convertir en une éventail en deux dimensions d'objets p>
8 Réponses :
Ce que vous voulez vraiment, c'est de trier le tableau. Pour ce faire, votre classe de contacts doit mettre en œuvre une méthode de comparaison. P>
Vérifiez la page suivante pour un exemple:
Je vous recommanderai d'analyser votre XML dans des objets Java et de stocker l'objet dans un objet de données personnalisé. Cela vous permettra de faire de nombreuses opérations sur les données disponibles. P>
Ici est petit tutoriel sur la façon de le faire. P>
Le moyen simple consiste à ajouter une méthode au contact et utilisez-le comme ceci: p> code> comme ceci:
Je présume que vous utilisez le JTABLE (objet [] [], objet []) code>
constructeur.
au lieu de convertir une arrayliste plus tard sur ... p>
[] [] code>, essayez d'utiliser
JTABLE (TableModel) Code>
constructeur. Vous pouvez écrire une classe personnalisée qui implémente le TableModel code>
interface. Sun a déjà fourni le abstracttableemodel CODE>
classe pour que vous puissiez étendre votre vie un peu plus facile. p> List<Contact> contacts = ...;
TableModel tableModel = new ContactTableModel(contacts);
JTable table = new JTable(tableModel);
J'ai réussi à trouver "un moyen" de le faire, connaître le nombre d'attributs que chaque contact a (6). Donc, envisager un arraylist listofContacts code>
Essayez ceci:
ArrayList<Integer> list = new ArrayList<Integer>(); list.add(..); list.add(..); list.add(..); list.add(..); list.add(..); list.add(..); int[][] a = new int[list.size()][list.size()]; for(int i =0; i < list.size(); i++){ for(int j =0; j <list.size(); j++){ a[i][j]= list.get(j +( list.size() * i)); } }
public static String[][] convertListIntoArrayObj(List<TeamMenuSelected> possibilities) { int numberOfColums = 2; int numberOfRows = possibilities.size(); String[][] values = new String[numberOfRows][numberOfColums]; for(int x=0; x<possibilities.size(); x++) { TeamMenuSelected item = possibilities.get(x); values[x][0] = item.getTeamName(); values[x][1] = item.getTeamCuisine(); } return values; }
ArrayList<String> arrayList = new ArrayList<String>(); arrayList.add("element_1"); arrayList.add("element_2"); arrayList.add("element_3"); arrayList.add("element_4"); int k=0; int row = 2, col = 2; Object[][] objArray = new Object[row][col]; for(int i = 0 ; i < row; i++) { for(int j = 0; j < col; j++) { objArray[i][j] = arrayList.get(k); k++; if(k > arrayList.size()) { break; } } } for(int i = 0 ; i < row; i++) { for(int j = 0; j < col; j++) { System.out.println("Row no "+i+" col no "+j+" "+objArray[i][j] ); } } }
Donc, ci-dessus est un moyen de convertir votre arraylist
Vous devriez écrire l'explication dans la réponse elle-même au lieu de l'écrire dans les commentaires.
Une liste de matrices est 1D, je ne comprends pas ce que votre question signifie
Peut-être que la arrayliste contient une liste de tableaux d'objets ...
Je vais vous décrire le problème avec plus de détails: un fichier XML inclut une liste de contacts (par exemple le nom, l'adresse ...). La seule façon dont je peux obtenir ces informations est via une arraylist, qui me sera donné. Comme je dois stocker le contenu de cette liste de matrices dans une table de manière ordonnée, je pensais la convertir en une éventail en deux dimensions d'objets ...
Quel genre de table? table de base de données? Swing Jtalable? Table HTML?