Commit 1b5cf06c by Patryk Czarnik

mapMulti i jakieś poprawki

parent d3682f6c
......@@ -16,41 +16,34 @@ public class C12_FlatMap {
}
static Stream<Integer> generujStrumien(int ilosc) {
List<Integer> lista = new ArrayList<>();
for(int i = 1; i <= ilosc; i++) {
lista.add(i);
}
return lista.stream();
return generuj(ilosc).stream();
}
static IntStream generujStrumienIntow(int ilosc) {
List<Integer> lista = new ArrayList<>();
for(int i = 1; i <= ilosc; i++) {
lista.add(i);
}
return lista.stream().mapToInt(Integer::intValue);
return generujStrumien(ilosc).mapToInt(Integer::intValue);
}
public static void main(String[] args) {
System.out.println(generuj(1));
System.out.println(generuj(3));
System.out.println(generuj(0));
System.out.println(generuj(5));
System.out.println();
System.out.println("Elementy strumienia wejściowego:");
Stream.of(1, 3, 5)
Stream.of(1, 3, 0, 5)
.forEach(x -> System.out.print(x + " | "));
System.out.println();
System.out.println();
System.out.println("Zwykłe mapowanie:");
Stream.of(1, 3, 5)
Stream.of(1, 3, 0, 5)
.map(C12_FlatMap::generuj)
.forEach(x -> System.out.print(x + " | "));
System.out.println();
Stream.of(1, 3, 5)
Stream.of(1, 3, 0, 5)
.map(x -> C12_FlatMap.generuj(x).stream())
.forEach(x -> System.out.print(x + " | "));
System.out.println();
......
package gotowe.p31_streamy.c_przeglad_operacji;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.IntStream;
import java.util.stream.Stream;
public class C13_MultiMap {
public static void main(String[] args) {
System.out.println("Elementy strumienia wejściowego:");
Stream.of(1, 3, 0, 5)
.forEach(x -> System.out.print(x + " | "));
System.out.println();
System.out.println("mapMulti");
Stream.of(1, 3, 0, 5)
.mapMulti((n, c) -> {
for (int i = 1; i <= n; i++) {
c.accept(i);
}
})
.forEach(x -> System.out.print(x + " | "));
}
}
......@@ -6,7 +6,7 @@ import java.util.Optional;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class C13_RozneOperacje {
public class C15_RozneOperacje {
public static void main(String[] args) {
String[] imiona = {"Ala", "Ola", "Basia", "Kasia", "Ela", "Ula", "Agnieszka", "Magdalena", "Anna", "Hanna", "Joanna", "Ala", "Agata", "Genowefa", "Grażyna", "Karolina", "Julia", "Zuzanna"};
......
package gotowe.p33_optional;
import java.time.LocalTime;
import java.util.function.Supplier;
import java.util.stream.Stream;
public class OrElseGet {
public static void main(String[] args) {
Supplier<LocalTime> dajCzas = () -> {
try { Thread.sleep(1000);
} catch (InterruptedException e) { }
return LocalTime.now();
};
System.out.println("A przed, " + LocalTime.now());
LocalTime wynik1 = Stream.generate(dajCzas)
.limit(5)
.filter(t -> t.getSecond() >= 50)
.findFirst()
.orElse(LocalTime.now());
System.out.println("A wynik: " + wynik1);
System.out.println("A po: " + LocalTime.now());
System.out.println();
System.out.println("B przed, " + LocalTime.now());
LocalTime wynik2 = Stream.generate(dajCzas)
.limit(5)
.filter(t -> t.getSecond() >= 50)
.findFirst()
.orElseGet(LocalTime::now);
System.out.println("B wynik: " + wynik2);
System.out.println("B po: " + LocalTime.now());
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment