Lücke in Java bedeutet, dass es keine Rückkehr gibt Wert, Einheit in der Skala dient demselben Zweck.
Wenn Sie list.foreach ausführen, gibt es keinen Rückgabewert und die Liste wird nicht geändert (oder der Rückgabewert ist Unit), stattdessen wird die Funktion auf jedes Mitglied angewendet und der Rückgabewert wird verworfen.
Ich kann mir vorstellen, dass Sie stattdessen eine Flatmap erstellen möchten. list.flatmap (f) würde f auf jedes Element anwenden und annehmen, dass der Rückgabewert von f eine Sammlung ist, und sie dann abflachen. Wenn zum Beispiel list (0, 2, 4) ist und f eine Liste zurückgibt, in der 1 den Elementwert wiederholt, dann würde f Liste(), Liste (1,1) und Liste (1, 1, 1, 1) zurückgeben zurückgegebener Wert wäre list (1,1,1,1,1,1)
In diesem Fall geben Sie einfach list() zurück, um einen Gesamtrückgabewert von list() zu erhalten.
scala hat 'Unit', was gleichbedeutend mit Void in Java ist. Z.B. 'def doSomething: Unit = println (" foo ")'. Ihre Frage nicht klar, was Sie versuchen zu tun. Ihre Liste wäre immer noch "List (4, 6, 7, 8, 9, 13, 14)" in Ihrem Beispiel. Glauben Sie, dass 'foreach' Elemente bei Iteration isst? Es tut nicht. – prayagupd
Gibt der Text im Screenshot nicht die Antwort auf Ihre Frage? Es besagt, dass ein Rückgabetyp von "Unit" in Scala dem Rückgabewert "void" in Java entspricht. –
Was sind diese Klammern um Int? Es sollte List.empty [Int] sein und nicht List.empty (Int) – sparkr