In Java gibt es mehrere Möglichkeiten For-Schleifen zu gestalten. Einige For-Schleifen werden hier nun vorgestellt:

For-Schleife über ein Array:
Intern wird hier eine Zählvariable verwendet, um über das Array zu iterieren.

String[] stringArray = {"Eins", "Zwei", "Drei"};
for (int i = 0; i < stringArray.length; i++)
 {
  String element = stringArray[i];
  System.out.println("Element " + i + ": " + element);
}

For-Schleife über einen Vektor (mit Java 1.5):
Bei Vektoren kann wieder mit einer internen Zählvariablen vorgegangen werden. Alternativ bietet Java beim Typ Vector einen eigenen Iterator an, der über alle Elemente des Vektors iteriert.

Vector<String> stringVector = new Vector<String>();
 stringVector.add("Eins");
 stringVector.add("Zwei");
 stringVector.add("Drei");
for (int i = 0; i < stringVector.size(); i++)
 {
  String element = stringVector.get(i);
  System.out.println("Element " + i + ": " + element);
}
int i = 0;
 for (Iterator<String> iterator = stringVector.iterator(); iterator.hasNext();)
 {
  String element = iterator.next();
  System.out.println("Element " + i++ + ": " + element);
}
i = 0;
 for (String element : stringVector)
 {
  System.out.println("Element " + i++ + ": " + element);
}

For-Schleife über einen Vektor (mit Java 1.4): Bei Java 1.4 sind die Schleifenrümpfe nahezu identisch mit den Rümpfen aus 1.5. In Java 1.4 existieren nur noch keine Generics (<>).

Vector stringVector2 = new Vector();
stringVector2.add("Eins");
stringVector2.add("Zwei");
stringVector2.add("Drei");
for (int j = 0; j < stringVector2.size(); j++)
 {
  String element = (String) stringVector2.get(j);
  System.out.println("Element " + j + ": " + element);
}
int j = 0;
 for (Iterator iterator = stringVector2.iterator(); iterator.hasNext();)
{
  String element = (String) iterator.next();
  System.out.println("Element " + j++ + ": " + element);
}

For-Schleife über eine HashMap: Bei einer HashMap bietet sich wieder der Iterator an. Jedoch kann er nicht direkt auf die HashMap angewendet werden. Mit der Funktion keySet() bekommt man ein Set mit den Keys der HashMap, bzw. mit der Funktion values() eine Collection aller Werte der HashMap. Alternativ bietet sich noch entrySet().

HashMap<String, String> strHashMap = new HashMap<String, String>();
strHashMap.put("1", "Eins");
strHashMap.put("2", "Zwei");
strHashMap.put("3", "Drei");
int k = 0;
for (Iterator<String> itr = strHashMap.keySet().iterator(); itr.hasNext();)
 {
  String key = itr.next();
  System.out.println("Element " + k++ + ": Key - " + key + " | Value - " + strHashMap.get(key));
}
k = 0;
for (Iterator iterator = strHashMap.values().iterator(); iterator.hasNext();)
 {
  String value = iterator.next();
  System.out.println("Element " + k++ + ": Value - " + value);
}
k = 0;
 // dieser Rumpf ist nur in Java 1.5 möglich
for (Map.Entry<String, String> entry : strHashMap.entrySet())
 {
  System.out.println("Element " + k++ + ": Key - " + entry.getKey() + " | Value - " + entry.getValue());
}

In Java gibt es auch die while-Schleifen um über diese Datensätze zu iterieren. Hier gehts zum entsprechenden Artikel der while-Schleifen in Java.

Um eine Schleife in Java vorzeitig zu beenden gibt es den Befehl break. Um einen Schleifendurchlauf vorzeitig zu beenden und den nächsten Schleifendurchlauf zu beginnen gibt es den Befehl continue.

 Antworten

   
Impressum Suffusion theme by Sayontan Sinha