Tableaux irréguliers
Fait partie de la section Logique & Flux du Journey Java de Coddy — leçon 6 sur 59.
Un tableau à dimensions irrégulières est un type spécial de tableau 2D où chaque ligne peut avoir un nombre différent de colonnes. En d'autres termes, c'est un tableau de tableaux, et chaque tableau « interne » peut avoir une longueur différente. Cela diffère d'un tableau 2D régulier, où toutes les lignes ont le même nombre de colonnes, formant une forme rectangulaire.
Les tableaux en dents de scie sont utiles lorsque vous devez stocker des données qui ne s'ajustent pas parfaitement dans une grille rectangulaire. Par exemple, vous pourriez utiliser un tableau en dents de scie pour stocker les mots de chaque phrase d'un paragraphe, où chaque phrase a un nombre différent de mots.
Voici comment déclarer et initialiser un tableau dentelé en Java :
data_type[][] array_name = new data_type[number_of_rows][];
// Initialize each row with a different number of columns
array_name[0] = new data_type[number_of_columns_in_row_0];
array_name[1] = new data_type[number_of_columns_in_row_1];
// ... and so onRemarquez que lorsque vous déclarez d'abord le tableau, vous ne spécifiez que le nombre de lignes. Ensuite, vous initialisez chaque ligne séparément, en spécifiant le nombre de colonnes pour cette ligne.
Défi
FacileCréez une méthode nommée createJaggedArray qui prend un entier n en entrée et retourne un tableau irrégulier d'entiers. Le tableau irrégulier devrait avoir la structure suivante :
- La première ligne devrait avoir 1 élément.
- La deuxième ligne devrait avoir 2 éléments.
- La troisième ligne devrait avoir 3 éléments.
- Et ainsi de suite, jusqu'à la ligne
n, qui devrait avoirnéléments.
Initialisez chaque élément du tableau avec le produit de ses indices de ligne et de colonne (commençant à partir de 1). Par exemple, l'élément à la deuxième ligne et première colonne devrait avoir la valeur 2 * 1 = 2.
Aide-mémoire
Un tableau dentelé est un tableau 2D où chaque ligne peut avoir un nombre différent de colonnes, contrairement aux tableaux 2D réguliers où toutes les lignes ont la même longueur.
Pour déclarer et initialiser un tableau dentelé :
data_type[][] array_name = new data_type[number_of_rows][];
// Initialize each row with a different number of columns
array_name[0] = new data_type[number_of_columns_in_row_0];
array_name[1] = new data_type[number_of_columns_in_row_1];
// ... and so onLors de la déclaration d'un tableau dentelé, vous ne spécifiez que le nombre de lignes initialement, puis initialisez chaque ligne séparément avec son nombre spécifique de colonnes.
Essayez vous-même
// Écrivez votre code uniquement à l'intérieur de la classe. N'écrivez pas main() ni aucun code en dehors de cette classe.
class CreateJaggedArray {
public static int[][] createJaggedArray(int n) {
// Écrivez votre code ici
}
}Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Logique & Flux
1Tableaux multidimensionnels
Bases des tableaux 2DAccès aux éléments des tableaux 2DBoucles imbriquées avec les tableaux 2DRécapitulatif - Tableaux 2DAddition et soustraction de matricesTableaux irréguliersTableaux 3D et au-delàMotifs courants des tableaux 2DRécapitulatif - Tout sur les tableaux4HashSet Partie 1
Qu'est-ce qu'un HashSet ?Ajouter un ÉlémentSupprimer un ÉlémentVérifier si un Élément ExisteVide et TailleVider et ClonerRécapitulatif - HashSet7Gestion des erreurs de base
Bases du try-catchBloc finallyLever des exceptionsExceptions personnalisées2HashMap Partie 1
Qu'est-ce qu'une HashMap ?Déclarer une HashMapAccéder aux ValeursVérifier si une Clé ExisteModifier les DictionnairesRécapitulatif - HashMap3HashMap Partie 2
Méthodes HashMapItérer avec keySet()Itérer avec entrySet()HashMap imbriquéRécapitulatif - Gérer l'entrepôtRécapitulatif - Opérations HashMap6Flux de contrôle avancé
Instructions étiquetéesExpression switchAppariement de motifsClauses de gardeRécapitulatif - Flux de contrôle9Projet - Compteur de Mots Uniques
Entrée de Texte et StockageTraitement des Mots