2 svar
92 visningar
Aedrha är nöjd med hjälpen
Aedrha 48
Postad: 19 jul 2020

Lambdauttryck

Hej!

Jag sitter med en laboration där i har jag fått en uppgift som rör en Map jag skapat i en tidigare laboration

Mapen innehåller String-integer-par.

Den deklareras så här:

private Map<String, Integer> mapWords;

och ligger i en Klass döpt till GeneralWordCounter.

I denna klass finns det lite metoder som läser in ord från ett dokument och räknar hur många gånger de förekommer och länkar ihop dem i mapen.
Dessa metoder funkar som de ska, i den nuvarande laborationen har jag fått uppgiften:
"Öppna din klass GeneralWordCounter från laboration 1. Vi behöver utöka klassen meden metod för att få tillgång till en lista med ord-antal-par. Metoden finns i den klassen eftersom vi kommer att behöva det Map-attribut du införde där i laboration 1. Lägg till följande metod i klassen GeneralWordCounter:

public List<__________________________> getWordList() {

return _________________;}

Den första streckade luckan ska ersättas med ett lämpligt typargument. För den andra luckan behövs bl.a. mängden av ord-antal-par. Mängden och listan har samma typargument."

Detta löste jag så här:

public List<Map.Entry<String, Integer>> getWordList(){
List<Map.Entry<String, Integer>> lista = new ArrayList<Map.Entry<String, Integer>>();

lista.addAll(mapWords.entrySet());

return lista;

}

Vilket verkar funka, men den nuvarande laborationen handlar delvis om Lambdauttryck. Så jag får en känsla av att tanken är att man ska lösa detta genom att skriva ett Lambauttryck på return raden.
Jag har försökt att lösa det men får inte ihop det.
Går det att åstadkomma samma sak som jag gör i min lilla klass i ett Lambdauttryck på return raden?

Laguna 13518
Postad: 19 jul 2020

Det skulle vara praktiskt om lista.addAll returnerade lista. Gör den det? 

Aedrha 48
Postad: 19 jul 2020

Metoden addAll kommer från Collection

I dokumentationen står det "Returns: True if this list is changed as a result of the call"

Jag har inte skuggat metoden, så jag får anta att det är boolean True som returneras.

Svara Avbryt
Close