« Java/Tableaux » : différence entre les versions

Contenu supprimé Contenu ajouté
m Révocation des modifications par 77.201.78.15 (Discussion) vers la dernière version de (:Julien:)
Ligne 7 :
|suivant=[[Java/Classes et objets|Classes et objets]]
}}
==Tableaux==
==Tableaux==éplacer toutes les références de l'ancien tableau vers le nouveau.
Pratiquement tous les langages gèrent les tableaux. Utiliser des tableaux en [[Langage C|C]] ou [[Langage C++|C++]] est dangereux car ces tableaux ne sont que des blocs de mémoire. Si un programme accède à un tableau en dehors de son bloc mémoire, ou s'il utilise la mémoire avant initialisation (erreurs de programmation fréquentes) les résultats seront imprévisibles.
 
Un des principaux objectifs de Java est la sécurité, aussi, un grand nombre des problèmes dont souffrent [[Langage C|C]] et [[Langage C++|C++]] ne sont pas rejetées sous Java. On est assuré qu'un tableau Java est initialisé et qu'il ne peut être accessible au delà de ses bornes. La vérification des bornes se fait au prix d'un petit excédent de mémoire pour chaque tableau ainsi que la vérification de l'index lors de l'exécution, mais on suppose que le gain de sécurité et en productivité vaut la dépense.
 
Quand on crée un tableau d'objet, on crée en réalité un tableau de références, et chacune de ces références est automatiquement initialisée à une valeur particulière avec son propre mot clé : null. Quand Java voit null, il reconnaît que la référence en question ne pointe pas vers un objet. Il faut affecter un objet à chaque référence avant de l'utiliser et si on essaye d'utiliser une référence encore null, le problème sera signalé lors de l'exécution. Ainsi, les erreurs typiques sur les tableaux sont évitées en Java.
 
On peut aussi créer des tableaux de variables de types primitif. À nouveau, le compilateur garantit l'initialisation car il met à zéro la mémoire utilisée par ces tableaux.
 
Les tableaux se distinguent des autres conteneurs sur deux points : l'efficacité et le type. Un tableau constitue la manière la plus efficace que propose Java pour stocker et accéder aléatoirement à une séquence d'objets (en fait de référence sur ces objets). Un tableau est une simple séquence linéaire, ce qui rend l'accès aux éléments extrêmement rapide; mais cette rapidité se paye : la taille d'un tableau est fixée lors de la création et ne peut plus être changé pendant toute la durée de sa vie. Une solution est de créer un nouveau tableau et de déplacer toutes les références de l'ancien tableau vers le nouveau.
 
==Déclaration de tableaux==