Oppgave 1
public static String navnlengde(String[] navn, int lengde) { StringJoiner sj = new StringJoiner(", ", "[", "]"); Arrays.stream(navn) .filter(x -> x.length() == lengde) .forEach(x -> sj.add(x)); return sj.toString(); }
Oppgave 2
p.negate().or(q).negate() svarer til
¬(¬p ∨ q) = p ∧ ¬q.
Siden p er sann for tall > 5 og ¬q er sann for tall ≥ 10, blir dette
sant for tall ≥ 10.
IntConsumer utskrift = x -> System.out.print(x + " "); int[] a = {7, 3, 6, 10, 5, 4, 12, 17, 8, 16}; // en samling heltall IntPredicate p = x -> x > 5, q = x -> x < 10; Arrays.stream(a).filter(p.negate().or(q).negate()).forEach(utskrift); // Utskrift: 10 12 17 16