Oefenen met Stream-API
Het is tijd om te oefenen met de Stream API. Je krijgt een aantal eenvoudige opdrachten waarbij je gebruikmaakt van verschillende Stream API-methoden. Dit keer worden er geen specifieke opdrachten gegeven. In plaats daarvan krijg je een lijst om mee te werken en wat het verwachte resultaat moet zijn. Met andere woorden, het is de bedoeling dat je bewerkingen uitvoert op de lijst om het verwachte resultaat te bereiken.
Dit soort opdrachten helpt je om de vaardigheid te ontwikkelen om resultaten te behalen zonder een duidelijke specificatie. Je ziet alleen de invoergegevens en het verwachte resultaat.
Je moet de Stream API gebruiken om deze opdrachten uit te voeren!
Opdracht 1:
Invoer:
Main.java
1234567891011package com.example; import java.util.Arrays; import java.util.List; public class Main { public static void main(String[] args) { List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5); // Write your code here } }
Gebruik de Stream API om elk getal in de lijst te kwadrateren en verzamel het resultaat in een nieuwe lijst. Verwachte uitvoer:
[1, 4, 9, 16, 25]
Gebruik hier de methoden map() en toList().
package com.example;
import java.util.Arrays;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
List<Integer> result = numbers.stream().map(e -> e * e).toList();
System.out.println(result);
// Write your code here
}
}
Taak 2:
Invoer:
Main.java
1234567891011package com.example; import java.util.Arrays; import java.util.List; public class Main { public static void main(String[] args) { List<String> names = Arrays.asList("Alice", "Bob", "Charlie", "David", "Eva"); // Write your code here } }
Gebruik Stream API om de lengte van de langste naam in de lijst te vinden. Verwachte uitvoer:
7
Gebruik de tussenliggende methoden map() en max(), en de terminale methode get().
package com.example;
import java.util.Arrays;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<String> names = Arrays.asList("Alice", "Bob", "Charlie", "David", "Eva");
Integer result = names
.stream()
.map(e -> e.length())
.max((integer, newInteger) -> Integer.compare(integer, newInteger))
.get();
System.out.println(result);
// Write your code here
}
}
Taak 3
Invoer:
Main.java
123456789101112131415package com.example; import java.util.Arrays; import java.util.List; public class Main { public static void main(String[] args) { List<String> sentences = Arrays.asList( "Java Stream API provides a fluent interface for processing sequences of elements.", "It supports functional-style operations on streams of elements, such as map-reduce transformations.", "In this exercise, you need to count the total number of words in all sentences." ); // Write your code here } }
Gebruik de Stream API om het totale aantal unieke woorden (hoofdletterongevoelig) in alle zinnen te tellen. Verwachte uitvoer:
37
Gebruik de tussenliggende methoden flatMap() en distinct(), en de terminale methode count().
package com.example;
import java.util.Arrays;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<String> sentences = Arrays.asList(
"Java Stream API provides a fluent interface for processing sequences of elements.",
"It supports functional-style operations on streams of elements, such as map-reduce transformations.",
"In this exercise, you need to count the total number of words in all sentences."
);
long count = sentences.stream()
.flatMap(e -> Arrays.stream(e.split(" ")))
.distinct()
.count();
System.out.println(count);
// Write your code here
}
}
Taak 4:
Invoer:
Main.java
1234567891011package com.example; import java.util.Arrays; import java.util.List; public class Main { public static void main(String[] args) { List<String> words = Arrays.asList("apple", "banana", "cherry", "date", "elderberry"); // Write your code here } }
Gebruik de Stream API om de concatenatie te vinden van de eerste twee woorden met een even lengte.
Verwachte uitvoer:
bananacherry
Gebruik de intermediaire methoden filter() en limit(), en de terminale methode collect().
package com.example;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
List<String> words = Arrays.asList("apple", "banana", "cherry", "date", "elderberry");
String result = words.stream()
.filter(e -> e.length() % 2 == 0)
.limit(2)
.collect(Collectors.joining());
System.out.println(result);
// Write your code here
}
}
Taak 5:
Invoer:
Main.java
1234567891011package com.example; import java.util.Arrays; import java.util.List; public class Main { public static void main(String[] args) { List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); // Write your code here } }
Gebruik de Stream API om de som van de kwadraten van de even getallen in de lijst te bepalen.
Verwachte uitvoer:
220
Gebruik de intermediaire methoden mapToInt() en filter(), en de terminale methode sum().
package com.example;
import java.util.Arrays;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
int sum = numbers.stream()
.mapToInt(e -> e * e)
.filter(e -> e % 2 == 0)
.sum();
System.out.println(sum);
// Write your code here
}
}
Goed gedaan!
Als je alle taken hebt voltooid, goed gedaan!
Sommige methoden in de taken zijn mogelijk eerder niet behandeld. Om deze te verkennen, open IntelliJ IDEA en controleer hun functionaliteit.
Programmeren draait om voortdurend leren, dus onderzoek nieuwe oplossingen, zoek online en raadpleeg documentatie indien nodig.
Bedankt voor je feedback!
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.
Can you explain how the Stream API works in these examples?
What are some other common Stream API methods I should know?
Can you give me more practice tasks like these?
Geweldig!
Completion tarief verbeterd naar 4
Oefenen met Stream-API
Veeg om het menu te tonen
Het is tijd om te oefenen met de Stream API. Je krijgt een aantal eenvoudige opdrachten waarbij je gebruikmaakt van verschillende Stream API-methoden. Dit keer worden er geen specifieke opdrachten gegeven. In plaats daarvan krijg je een lijst om mee te werken en wat het verwachte resultaat moet zijn. Met andere woorden, het is de bedoeling dat je bewerkingen uitvoert op de lijst om het verwachte resultaat te bereiken.
Dit soort opdrachten helpt je om de vaardigheid te ontwikkelen om resultaten te behalen zonder een duidelijke specificatie. Je ziet alleen de invoergegevens en het verwachte resultaat.
Je moet de Stream API gebruiken om deze opdrachten uit te voeren!
Opdracht 1:
Invoer:
Main.java
1234567891011package com.example; import java.util.Arrays; import java.util.List; public class Main { public static void main(String[] args) { List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5); // Write your code here } }
Gebruik de Stream API om elk getal in de lijst te kwadrateren en verzamel het resultaat in een nieuwe lijst. Verwachte uitvoer:
[1, 4, 9, 16, 25]
Gebruik hier de methoden map() en toList().
package com.example;
import java.util.Arrays;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
List<Integer> result = numbers.stream().map(e -> e * e).toList();
System.out.println(result);
// Write your code here
}
}
Taak 2:
Invoer:
Main.java
1234567891011package com.example; import java.util.Arrays; import java.util.List; public class Main { public static void main(String[] args) { List<String> names = Arrays.asList("Alice", "Bob", "Charlie", "David", "Eva"); // Write your code here } }
Gebruik Stream API om de lengte van de langste naam in de lijst te vinden. Verwachte uitvoer:
7
Gebruik de tussenliggende methoden map() en max(), en de terminale methode get().
package com.example;
import java.util.Arrays;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<String> names = Arrays.asList("Alice", "Bob", "Charlie", "David", "Eva");
Integer result = names
.stream()
.map(e -> e.length())
.max((integer, newInteger) -> Integer.compare(integer, newInteger))
.get();
System.out.println(result);
// Write your code here
}
}
Taak 3
Invoer:
Main.java
123456789101112131415package com.example; import java.util.Arrays; import java.util.List; public class Main { public static void main(String[] args) { List<String> sentences = Arrays.asList( "Java Stream API provides a fluent interface for processing sequences of elements.", "It supports functional-style operations on streams of elements, such as map-reduce transformations.", "In this exercise, you need to count the total number of words in all sentences." ); // Write your code here } }
Gebruik de Stream API om het totale aantal unieke woorden (hoofdletterongevoelig) in alle zinnen te tellen. Verwachte uitvoer:
37
Gebruik de tussenliggende methoden flatMap() en distinct(), en de terminale methode count().
package com.example;
import java.util.Arrays;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<String> sentences = Arrays.asList(
"Java Stream API provides a fluent interface for processing sequences of elements.",
"It supports functional-style operations on streams of elements, such as map-reduce transformations.",
"In this exercise, you need to count the total number of words in all sentences."
);
long count = sentences.stream()
.flatMap(e -> Arrays.stream(e.split(" ")))
.distinct()
.count();
System.out.println(count);
// Write your code here
}
}
Taak 4:
Invoer:
Main.java
1234567891011package com.example; import java.util.Arrays; import java.util.List; public class Main { public static void main(String[] args) { List<String> words = Arrays.asList("apple", "banana", "cherry", "date", "elderberry"); // Write your code here } }
Gebruik de Stream API om de concatenatie te vinden van de eerste twee woorden met een even lengte.
Verwachte uitvoer:
bananacherry
Gebruik de intermediaire methoden filter() en limit(), en de terminale methode collect().
package com.example;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
List<String> words = Arrays.asList("apple", "banana", "cherry", "date", "elderberry");
String result = words.stream()
.filter(e -> e.length() % 2 == 0)
.limit(2)
.collect(Collectors.joining());
System.out.println(result);
// Write your code here
}
}
Taak 5:
Invoer:
Main.java
1234567891011package com.example; import java.util.Arrays; import java.util.List; public class Main { public static void main(String[] args) { List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); // Write your code here } }
Gebruik de Stream API om de som van de kwadraten van de even getallen in de lijst te bepalen.
Verwachte uitvoer:
220
Gebruik de intermediaire methoden mapToInt() en filter(), en de terminale methode sum().
package com.example;
import java.util.Arrays;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
int sum = numbers.stream()
.mapToInt(e -> e * e)
.filter(e -> e % 2 == 0)
.sum();
System.out.println(sum);
// Write your code here
}
}
Goed gedaan!
Als je alle taken hebt voltooid, goed gedaan!
Sommige methoden in de taken zijn mogelijk eerder niet behandeld. Om deze te verkennen, open IntelliJ IDEA en controleer hun functionaliteit.
Programmeren draait om voortdurend leren, dus onderzoek nieuwe oplossingen, zoek online en raadpleeg documentatie indien nodig.
Bedankt voor je feedback!