Øvelse med Stream API
Det er på tide å øve med Stream API. Du får noen enkle oppgaver som innebærer bruk av ulike Stream API-metoder. Denne gangen vil du ikke få spesifikke oppgaver. I stedet får du en liste å jobbe med og hva det forventede resultatet skal være. Med andre ord er målet ditt å utføre operasjoner på listen for å oppnå det forventede utfallet.
Denne typen oppgave hjelper deg å utvikle ferdigheten med å oppnå resultater uten en klar spesifikasjon. Du vil kun se inputdata og forventet resultat.
Du må bruke Stream API for å løse disse oppgavene!
Oppgave 1:
Input:
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 } }
Bruk Stream API for å kvadrere hvert tall i listen og samle resultatet i en ny liste. Forventet utdata:
[1, 4, 9, 16, 25]
Bruk metodene map() og toList() her.
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
}
}
Oppgave 2:
Input:
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 } }
Bruk Stream API for å finne lengden på det lengste navnet i listen. Forventet utdata:
7
Bruk de mellomliggende metodene map() og max(), samt den terminale metoden 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
}
}
Oppgave 3
Input:
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 } }
Bruk Stream API for å telle det totale antallet unike ord (ikke skille mellom store og små bokstaver) i alle setningene. Forventet utdata:
37
Bruk de mellomliggende metodene flatMap() og distinct(), samt den terminale metoden 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
}
}
Oppgave 4:
Inndata:
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 } }
Bruk Stream API for å finne sammenkoblingen av de to første ordene med partallslengde.
Forventet utdata:
bananacherry
Bruk de mellomliggende metodene filter() og limit(), samt den terminale metoden 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
}
}
Oppgave 5:
Inndata:
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 } }
Bruk Stream API for å finne summen av kvadratene til partallene i listen.
Forventet utdata:
220
Bruk de mellomliggende metodene mapToInt() og filter(), samt den terminale metoden 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
}
}
Bra jobbet!
Hvis du har fullført alle oppgavene, godt gjort!
Noen metoder i oppgavene kan hende ikke har blitt gjennomgått tidligere. For å utforske dem, åpne IntelliJ IDEA og undersøk funksjonaliteten deres.
Programmering handler om kontinuerlig læring, så utforsk nye løsninger, søk på nettet og bruk dokumentasjonen ved behov.
Takk for tilbakemeldingene dine!
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
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?
Fantastisk!
Completion rate forbedret til 4
Øvelse med Stream API
Sveip for å vise menyen
Det er på tide å øve med Stream API. Du får noen enkle oppgaver som innebærer bruk av ulike Stream API-metoder. Denne gangen vil du ikke få spesifikke oppgaver. I stedet får du en liste å jobbe med og hva det forventede resultatet skal være. Med andre ord er målet ditt å utføre operasjoner på listen for å oppnå det forventede utfallet.
Denne typen oppgave hjelper deg å utvikle ferdigheten med å oppnå resultater uten en klar spesifikasjon. Du vil kun se inputdata og forventet resultat.
Du må bruke Stream API for å løse disse oppgavene!
Oppgave 1:
Input:
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 } }
Bruk Stream API for å kvadrere hvert tall i listen og samle resultatet i en ny liste. Forventet utdata:
[1, 4, 9, 16, 25]
Bruk metodene map() og toList() her.
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
}
}
Oppgave 2:
Input:
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 } }
Bruk Stream API for å finne lengden på det lengste navnet i listen. Forventet utdata:
7
Bruk de mellomliggende metodene map() og max(), samt den terminale metoden 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
}
}
Oppgave 3
Input:
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 } }
Bruk Stream API for å telle det totale antallet unike ord (ikke skille mellom store og små bokstaver) i alle setningene. Forventet utdata:
37
Bruk de mellomliggende metodene flatMap() og distinct(), samt den terminale metoden 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
}
}
Oppgave 4:
Inndata:
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 } }
Bruk Stream API for å finne sammenkoblingen av de to første ordene med partallslengde.
Forventet utdata:
bananacherry
Bruk de mellomliggende metodene filter() og limit(), samt den terminale metoden 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
}
}
Oppgave 5:
Inndata:
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 } }
Bruk Stream API for å finne summen av kvadratene til partallene i listen.
Forventet utdata:
220
Bruk de mellomliggende metodene mapToInt() og filter(), samt den terminale metoden 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
}
}
Bra jobbet!
Hvis du har fullført alle oppgavene, godt gjort!
Noen metoder i oppgavene kan hende ikke har blitt gjennomgått tidligere. For å utforske dem, åpne IntelliJ IDEA og undersøk funksjonaliteten deres.
Programmering handler om kontinuerlig læring, så utforsk nye løsninger, søk på nettet og bruk dokumentasjonen ved behov.
Takk for tilbakemeldingene dine!