...
- boolean hasNext() - returnerer true dersom det kan beregnes flere verdier, altså hvis begge iteratorene enten har flere verdier eller har en tilhørende standardverdi. Men merk at hasNext() returnerer uansett false, hvis begge iteratorene er tomme.
- Double next() - returnerer resultatet av å bruke binæroperasjonen operator på de neste verdiene fra sub-iteratorene, og bruker standardverdier dersom en av iteratorene ikke har flere verdier.
JExercise-testkode for BinaryComputingIterator er her: delegation/BinaryComputingIteratorTest.java. Originalkoden (jextest) for testen finner du her: delegation/BinaryComputingIterator.jextest
Eksempel
BinaryOperator-implementasjoner kan lett skrive ved hjelp av Java 8 sin funksjonsnotasjon. Dersom man for eksempel vil bruke en addisjonsoperator kan det se slik ut:
Code Block |
---|
Iterator<Double> iterator1 = Arrays.asList(2.0, 3.0).iterator(); Iterator<Double> iterator2 = Arrays.asList(5.0).iterator(); BinaryComputingIterator binaryIterator = new BinaryComputingIterator(iterator1, iterator2, null, 10.0, (x, y) -> x+y); binaryIterator.next(); // 7.0 binaryIterator.hasNext() // true binaryIterator.next() // 13.0 binaryIterator.hasNext() // false |
JExercise-testkode for BinaryComputingIterator er her: delegation/BinaryComputingIteratorTest.java. Originalkoden (jextest) for testen finner du her: delegation/BinaryComputingIterator.jextest
Include Page | ||||
---|---|---|---|---|
|