web-dev-qa-db-fra.com

Liste des tableaux dans Java

Quelle est la syntaxe pour créer une liste de tableaux en Java?

J'ai essayé ce qui suit:

List<int[]> A = new List<int[]>();

et beaucoup d'autres choses.

J'ai besoin de pouvoir réorganiser les tableaux int, mais les éléments des tableaux int n'ont pas besoin d'être modifiés. Si ce n'est pas possible, pourquoi?

Je vous remercie.

28
Chet

Premièrement, vous ne pouvez pas faire new List(); c'est une interface.

Pour faire une liste des tableaux int, faites quelque chose comme ceci:

List<int[]> myList = new ArrayList<int[]>();

P.S. Selon le commentaire, le package pour List est Java.util.List et pour ArrayList Java.util.ArrayList

54
gprathour
List<Integer[]> integerList = new ArrayList<Integer[]>();

Utilisez l'objet à la place de la primitive, sauf si c'est avant Java 1.5 car il gère automatiquement la boîte automatique.

En ce qui concerne le tri:

Collections.sort(integerList); //Sort the entire List  

et pour chaque tableau (probablement ce que vous voulez)

for(Integer[] currentArray : integerList)  
{  
    Arrays.sort(currentArray);  
} 
7
Woot4Moo

La liste est une interface, pas une classe. Vous devez choisir quel type de liste. Dans la plupart des cas, une ArrayList est choisie.

List a = new ArrayList();

Vous avez indiqué que vous souhaitez y stocker un tableau int, vous pouvez donc spécifier le type qu'une liste contient.

List<int[]> a = new ArrayList<int[]>();

Bien que vous puissiez avoir une collection (telle qu'une liste) de "int []", vous ne pouvez pas avoir une collection de "int". En effet, les tableaux sont des objets, mais un "int" est une primitive.

6
MadcoreTom