grammaire
Copiez le code comme suit :
for (Object objectname : preArrayList (une liste d'objets Object)) {}
Exemple
Copiez le code comme suit :
paquet com.kuaff.jdk5 ;
importer java.util.* ;
importer java.util.Collection ;
classe publique Foreach
{
Collection privée c = null ;
private String[] belle = new String[4];
publicForeach()
{
belle[0] = "Xi Shi";
belle[1] = "Wang Zhaojun";
belle[2] = "Diao Chan";
belle[3] = "Yang Guifei";
c = Arrays.asList(belle);
}
public void testCollection()
{
pour (Chaîne b : c)
{
System.out.println("Une fois une personne altérée sans égal :" + b);
}
}
testArray public vide()
{
pour (Chaîne b : belle)
{
System.out.println("Le passé a laissé un nom dans l'histoire :" + b);
}
}
public static void main (String[] arguments)
{
Foreach chacun = new Foreach();
chaque.testCollection();
chacun.testArray();
}
}
Pour les types de collection et les types de tableaux, nous pouvons y accéder via la syntaxe foreach. Dans l'exemple ci-dessus, nous avions l'habitude d'accéder aux tableaux dans l'ordre, ce qui était assez gênant :
Copiez le code comme suit :
pour (int i = 0; i < belle.length; i++)
{
Chaîne b = belle[i];
System.out.println("Une fois une personne altérée sans égal :" + b);
}
Il suffit maintenant de la simple déclaration suivante :
Copiez le code comme suit :
pour (Chaîne b : belle)
{
System.out.println("Le passé a laissé un nom dans l'histoire :" + b);
}
L’effet de l’accès aux collections est plus évident. Auparavant, nous accédions au code de collecte :
Copiez le code comme suit :
pour (Itérateur it = c.iterator(); it.hasNext();)
{
Nom de la chaîne = (String) it.next();
System.out.println("Une fois une personne altérée sans égal :" + nom);
}
Maintenant, nous n'avons besoin que de l'instruction suivante :
Copiez le code comme suit :
pour (Chaîne b : c)
{
System.out.println("Une fois une personne altérée sans égal :" + b);
}
Foreach n'est pas tout-puissant, il présente également les défauts suivants :
Dans le code précédent, nous pouvions effectuer l’opération de suppression via Iterator.
Copiez le code comme suit :
pour (Itérateur it = c.iterator(); it.hasNext();)
{
itremove()
}
Cependant, dans la version actuelle de foreach, nous ne pouvons pas supprimer les objets contenus dans la collection. Vous ne pouvez pas non plus remplacer des objets.
De plus, vous ne pouvez pas forcer plusieurs collections en parallèle. Par conséquent, lorsque nous écrivons du code, nous devons l’utiliser en fonction de la situation.