Oppgave 2
Lambda-uttrykket x -> x
representerer det som i matematikk kalles identitetsfunksjonen, dvs.
funksjonen f
som er slik at f(x) = x
. Det betyr at det ordnes mhp.
x
og det er samme som naturlig ordning siden x
er en instans av
en sammenlignbar type. Dermed er Komparator.orden(x -> x)
og Komparator.naturligOrden()
det samme.
Oppgave 3
Komparator<Integer> c = (x,y) -> { if ((x - y) % 2 == 0) return 0; // begge partall eller begge oddetall if (x % 2 == 0) return 1; // x partall og y oddetall else return -1; // x oddetall og y partall }; Integer[] a = {6,2,7,1,9,5,10,8,4,3}; Tabell.innsettingssortering(a, c.deretter(x -> x)); System.out.println(Arrays.toString(a)); // Utskrift: [1, 3, 5, 7, 9, 2, 4, 6, 8, 10]
Oppgave 4
Tabell.innsettingssortering(s, Komparator.orden(String::length).deretter(x -> x));
Oppgave 5
Tabell.innsettingssortering(s, Komparator.orden(String::length).omvendt().deretter(Komparator.omvendtOrden()));
eller
Tabell.innsettingssortering(s, Komparator.orden(String::length).deretter(x -> x).omvendt());