Esempio n. 1
0
 // Calls the Combiner object on each element to combine
 // it with a running result, which is finally returned:
 public static <T> T reduce(Iterable<T> seq, Combiner<T> combiner) {
   Iterator<T> it = seq.iterator();
   if (it.hasNext()) {
     T result = it.next();
     while (it.hasNext()) result = combiner.combine(result, it.next());
     return result;
   }
   // If seq is the empty list:
   return null; // Or throw exception
 }
Esempio n. 2
0
 public static void main(String[] args) {
   SortedSet<String> sortedSet = new TreeSet<String>();
   Collections.addAll(sortedSet, "one two three four five six seven eight".split(" "));
   print(sortedSet);
   String low = sortedSet.first();
   String high = sortedSet.last();
   print(low);
   print(high);
   Iterator<String> it = sortedSet.iterator();
   for (int i = 0; i <= 6; i++) {
     if (i == 3) low = it.next();
     if (i == 6) high = it.next();
     else it.next();
   }
   print(low);
   print(high);
   print(sortedSet.subSet(low, high));
   print(sortedSet.headSet(high));
   print(sortedSet.tailSet(low));
 }