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());