[java 1.5]tableaux génériques
Bonjour,
J'ai un ArrayList a qui contient des chiffres de 1 à 9
Code:
1 2 3 4 5 6
|
ArrayList<Integer> a = new ArrayList<Integer>();
for (int i=1;i<=9;i++){
a.add(i);
}
System.out.println(a); |
Je veux maintenant construire un tableau b d'ArrayList tel que chaque élément contient les chiffres de 1 à 9. En java 1.4, j'écrivais
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
import java.util.*;
public class T2{
public static void main ( String [ ] args ) {
ArrayList b [ ] = new ArrayList [ 9 ] ;
for ( int i = 0 ; i < 9 ; i++) {
b[i] = new ArrayList();
for (int j = 1 ; j <= 9 ; j++){
b [ i ] . add ( new Integer ( j ) );
}
}
for ( int i = 0 ; i < 9 ; i++) {
System.out.println(b[i]);
}
}
} |
ce programme compile en 1.5 mais j'obtient les warnings suivants
Code:
1 2 3
|
Note: T2.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details. |
Je n'arrive pas à déclarer un tableau de 9 ArrayList d'Integer:
Merci de votre aide
:idea:
[java 1.5]tableaux génériques
J'ai fais la correction indiquée
Citation:
b[i] = new ArrayList<Integer>();
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| import java.util.*;
public class T2{
public static void main ( String [ ] args ) {
ArrayList b [ ] = new ArrayList [ 9 ] ;
for ( int i = 0 ; i < 9 ; i++) {
b[i] = new ArrayList<Integer>();
for (int j = 1 ; j <= 9 ; j++){
b [ i ] . add ( new Integer ( j ) );
}
}
for ( int i = 0 ; i < 9 ; i++) {
System.out.println(b[i]);
}
}
} |
Les warnings subsistent.
:?: :?:
Mon but est de créer une matrice de 9 lignes de 9 colonnes d'ArrayList chacun d'eux contenant les chiffres de 1 à 9 ( ça sent le sudoku )
[java 1.5]tableaux génériques
Le programme sans générique compile sans warning sous 1.4
[java 1.5]tableaux génériques
Après la deuxième correction proposée
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| import java.util.*;
public class T2{
public static void main ( String [ ] args ) {
ArrayList <Integer> [ ] b = new ArrayList <Integer> [ 9 ] ;
for ( int i = 0 ; i < 9 ; i++) {
b[i] = new ArrayList<Integer>();
for (int j = 1 ; j <= 9 ; j++){
b [ i ] . add ( new Integer ( j ) );
}
}
for ( int i = 0 ; i < 9 ; i++) {
System.out.println(b[i]);
}
}
} |
J'obtiens un message d'erreur:
Citation:
T2.java:4: generic array creation
ArrayList <Integer> [ ] b = new ArrayList <Integer> [ 9 ] ;
^
1 error
:?: :idea: :?: :idea: :?: :idea:
[java 1.5]tableaux génériques
Merci beaucoup
:lol: :lol: :lol: :lol: