En Java, comment convertir une ArrayList en un tableau bidimensionnel Object [] []? De 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 cette information est à travers une ArrayList, qui me sera donnée. Comme j'ai besoin de stocker le contenu de cette liste dans une table Java Swing d'une manière ordonnée, je pensais la convertir en un tableau bidimensionnel d'objetsConversion d'une ArrayList en une Array 2D
Répondre
j'ai réussi à trouver "un moyen" de le faire, de connaître le nombre d'attributs chacun des contacts a (6). Si l'on considère un ArrayList listofContacts
int numberOfContacts = listofContacts.size()/6;
Object[][] newArrayContent = new Object[numberOfContacts][6];
for(int x = 0; x<numberOfContacts; x++){
for(int z = 0; z < 6; z++){
int y = 6 * x;
newArrayContent [x][z] = list.get(y+z);
System.out.println(newArrayContent [x][z].toString());
}
}
Ce que vous voulez vraiment, c'est de trier ArrayList. Pour ce faire, votre classe Contacts doit implémenter une méthode Comparator.
Vérifiez la page suivante pour un exemple: http://www.java-examples.com/sort-java-arraylist-descending-order-using-comparator-example
Je recommande que vous analysez votre XML en objets java et stocker l'objet dans un objet de données personnalisées. Cela vous aidera à effectuer de nombreuses opérations sur les données disponibles.
Here est un petit tutoriel sur la façon de le faire.
La façon simple est d'ajouter une méthode à la Contact
comme ceci:
public Object[] toObjectArray() {
return new Object[] { getName(), getAddress, /* ... */ };
}
et l'utiliser comme ceci:
ArrayList<Contact> contacts = /* ... */
Object[][] table = new Object[contacts.size()][];
for (int i = 0; i < contacts.size(); i++) {
table[i] = contacts.get(i).toObjectArray();
}
Je suppose que vous utilisez le constructeur JTable(Object[][], Object[])
. Au lieu de convertir ArrayList<Contact>
en Object[][]
, essayez d'utiliser le constructeur JTable(TableModel)
. Vous pouvez écrire une classe personnalisée qui implémente l'interface TableModel
. Sun vous a déjà fourni la classe AbstractTableModel
pour vous permettre de vous simplifier la vie.
public class ContactTableModel extends AbstractTableModel {
private List<Contact> contacts;
public ContactTableModel(List<Contact> contacts) {
this.contacts = contacts;
}
public int getColumnCount() {
// return however many columns you want
}
public int getRowCount() {
return contacts.size();
}
public String getColumnName(int columnIndex) {
switch (columnIndex) {
case 0: return "Name";
case 1: return "Age";
case 2: return "Telephone";
// ...
}
}
public Object getValueAt(int rowIndex, int columnIndex) {
Contact contact = contacts.get(rowIndex);
switch (columnIndex) {
case 0: return contact.getName();
case 1: return contact.getAge();
case 2: return contact.getTelephone();
// ...
}
}
}
Plus tard ...
List<Contact> contacts = ...;
TableModel tableModel = new ContactTableModel(contacts);
JTable table = new JTable(tableModel);
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;
}
- 1. Arraylist utilise Array?
- 2. F # Create 2D Array
- 3. 2d array confusion
- 4. images Array 2D swapping
- 5. 2D Array Question Java
- 6. Conversion d'un tampon Scala en Java ArrayList
- 7. Conversion d'une ArrayList de chaînes en BufferedReader
- 8. Foreach et 2D Array PHP
- 9. Conversion d'une ArrayList <someObjects> en une table HTML
- 10. Java 2D ArrayList et le tri
- 11. tableau dynamique 2d dans Java utilisant Arraylist
- 12. Php 2d tableau comme C# 2d array/struct
- 13. Conversion de Byte Array en fichier Wav
- 14. C# Array Conversion
- 15. conversion de chaîne en int array
- 16. Comment créer un Array ou ArrayList d'objets en C#?
- 17. Ajouter 2d int array à NSDictionary
- 18. Conversion de ArrayList d'objets en ArrayList de ces objets Noms de chaînes en Java
- 19. PHP 2D Array to MySQL Database
- 20. C#: Copier la section de 2D-Array
- 21. Comment analyser correctement le fichier CSV en 2d Array?
- 22. Traverse 2D Array en spirale utilisant la récursivité
- 23. sortie Array PHP 2D toutes les combinaisons
- 24. C++ 2d Array Classe Fonction Appeler Aide
- 25. Conversion d'une séquence plane en séquence 2d en python
- 26. Conversion (en partie) d'un recarray numpy en un tableau 2d?
- 27. Conversion d'un arraylist à un tableau normal
- 28. Conversion d'une image Picture Box en Byte Array en VB6
- 29. Comment configurer WebService pour renvoyer ArrayList au lieu de Array?
- 30. Conversion d'une image vectorielle en code 2D Quartz
ce qui est dans votre liste? – pstanton
une liste de tableau est 1D, je ne comprends pas ce que votre question signifie –
peut-être la ArrayList contient une liste de tableaux d'objets ... – ninesided