View Javadoc
1   package integrationTests.loops;
2   
3   import java.util.Collection;
4   import java.util.Iterator;
5   import java.util.List;
6   
7   public class ForStatements {
8       void forInSeparateLines() {
9           for (int i = 0; i < 2; i++) {
10              System.gc();
11          }
12      }
13  
14      void forInSingleLine(int i) {
15          // @formatter:off
16          for (; i < 2; i++) { System.gc(); }
17          // @formatter:on
18      }
19  
20      int forEachArrayElement(int... values) {
21          int sum = 0;
22  
23          for (int value : values) {
24              sum += value;
25          }
26  
27          return sum;
28      }
29  
30      String forEachCollectionElement(List<String> values) {
31          StringBuilder result = new StringBuilder();
32  
33          for (String value : values) {
34              result.append(value);
35          }
36  
37          return result.toString();
38      }
39  
40      void forUsingIterator(Collection<? extends Number> values) {
41          for (Iterator<? extends Number> itr = values.iterator(); itr.hasNext();) {
42              Number value = itr.next();
43  
44              if (value.intValue() == 0) {
45                  itr.remove();
46              }
47          }
48      }
49  
50      int forWithBreakAndContinue(int i) {
51          for (; i < 2; i++) {
52              if (i == 1) {
53                  i = 3;
54                  continue;
55              }
56  
57              if (i < 0) {
58                  break;
59              }
60          }
61  
62          return i;
63      }
64  
65      void nestedFor(List<Integer> list) {
66          for (Integer i : list) {
67              for (int j = 0; j < i; j++) {
68                  i++;
69              }
70          }
71      }
72  
73      boolean forWithNestedIfWhichReturns(int valueToSearch, int... values) {
74          for (int value : values) {
75              if (value == valueToSearch) {
76                  return true;
77              }
78          }
79  
80          return false;
81      }
82  }