java 2
Von Oracle Certified Professional Java SE 8 Programmer 2 Study guide - Jeanne Boyarsky and Scott Selikoff
Von Oracle Certified Professional Java SE 8 Programmer 2 Study guide - Jeanne Boyarsky and Scott Selikoff
Kartei Details
Karten | 500 |
---|---|
Sprache | Deutsch |
Kategorie | Informatik |
Stufe | Universität |
Erstellt / Aktualisiert | 03.03.2020 / 22.06.2022 |
Weblink |
https://card2brain.ch/box/20200303_java_2
|
Einbinden |
<iframe src="https://card2brain.ch/box/20200303_java_2/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>
|
Wieviele Parameter, was für einen ReturnType, was für single abstract Methods hat ObjDoubleConsumer<T>/ObjIntConsumer<T>/ObjLongConsumer<T>?
2 params(T,double/T,int/T,long) returntype void, single abstract method accept
Was kommt hier raus?
25: List<String> cats = new ArrayList<>();
26: cats.add("Annie");
27: cats.add("Ripley");
28: Stream<String> stream = cats.stream();
29: cats.add("KC");
30: System.out.println(stream.count());
3 -> Streams werden lazy evaluated, d.h. erst in zeile 30, dort hat die source dann 3 elemente
Wie kann man das noch schreiben?
private static void threeDigit(Optional<Integer> optional) {
if (optional.isPresent()) { // outer if
Integer num = optional.get();
String string = "" + num;
if (string.length() == 3) // inner if
System.out.println(string);
} }
private static void threeDigit(Optional<Integer> optional) {
optional.map(n -> "" + n) // part 1
.filter(s -> s.length() == 3) // part 2
.ifPresent(System.out::println); // part 3
}
Was sind die Parameter, der returntype und die descrpiton von averagingDouble/averagingInt/averagingLong?
ToDoubleFunction f/ ToIntFunction f/ToLongFunction, return double, berechnet den durchschnitt
double ans = s
.collect(Collectors
.averagingDouble(
num -> Double.parseDouble(num)));
Was sind die Parameter, der returntype und die descrpiton des predifned collectors counting?
Kein Parameter, returned long, zählt die elemente
Was sind die Parameter, der returntype und die descrpiton des predifned collectors groupingBy?
Parameters: Function F / Function f, Collector dc/ Function f, Supplier s, Collector db
Returns Map<K, List<T>> -> erzeug map mit gruppen
Was sind die Parameter, der returntype und die descrpiton des predifned collectors joining?
kein Parameter oder CharSeuqence, returns String, erzeug einen String mit cs als delemiter
Was sind die Parameter, der returntype und die descrpiton des predifned collectors maxBy/minBy?
Params Comparator c, returnes Optional<T>, findet kleinstes/größtes Element
Was sind die Parameter, der returntype und die descrpiton des predifned collectors mapping?
Params Function f, collector dc , Returnes Collector, fügt ein weiteres lvl an collectoren hinzu
Was sind die Parameter, der returntype und die descrpiton des predifned collectors partitioningBy?
Predicate p /Predicate P, Collector Dc
returnes Map<Boolean, List<T>>
Erstellt map groupiert nach dem predicate
Was sind die Parameter, der returntype und die descrpiton des predifned collectors sumarizingDouble/summarizingInt/summarizingLong?
ToDoubleFunction/ToIntFunction/ToLongFunction, returnes DoubleSummaryStatistics/IntSummaryStatistics/LongSummaryStatistics, berechnet average,min,max,..
Was sind die Parameter, der returntype und die descrpiton des predifned collectors summingDouble,summingInt,summingLong?
ToDoubleFunction/ToIntFunction/ToLongFunction , returnes Double/Integer/Long, berechnet summe
Was sind die Parameter, der returntype und die descrpiton des predifned collectors toList/toSet
Keine Parameter, Returnes List/Set, erzeugt list oder set
Was sind die Parameter, der returntype und die descrpiton des predifned collectors toCollection?
Param Supplier s, returnes Collection, erstellk collection für einen Tyü
Was sind die Parameter, der returntype und die descrpiton des predifned collectors toMap?
Params: Function k, Function V / Function k, Function v, BinaryOperator m /Function k, Function v, BinaryOperator m, Supplier s
Returned map
erstellt map mit keys, values, optionaler merge function und optilalem typ
Wie könnte man hier die durchschnittliche Länge jedes wortes ausrechenn?
Stream<String> ohMy = Stream.of("lions", "tigers", "bears");
Double result = ohMy.collect(Collectors.averagingInt(String::length));
In welchem package befinden sich die date und time klassen?
in java.time
Was beinhaltet LocalDate?
nur ein date, keine zeit und keine zeitzone. bspw. geburstag
Was beinhaltet LocalDateTime?
Date und Time aber keine timezone
Was beinhaltet ZonedDateTime?
Ein Date,time und time zone
Wie bekommt man die aktuelle Zeit/das aktuelle Datum bei LocalDate/LocalTime/LocalDateTime/ZonedDateTime?
Überall mit .now()
Wie kann man eine LocalTime erzeugen indem man bspw. stunden und minuten übergibt?
- public static LocalTime of(int hour, int minute)
- public static LocalTime of(int hour, int minute, int second)
- public static LocalTime of(int hour, int minute, int second, int nanos)
Wie kann man ein LocalDateTime erzeugen dem man bspw. ein jahr,monat,dayofmonth, hour und minute übergeben kann?
- public static LocalDateTime of(int year, int month,int dayOfMonth, int hour, int minute)
- public static LocalDateTime of(int year, int month,int dayOfMonth, int hour, int minute, int second)
- public static LocalDateTime of(int year, int month,int dayOfMonth, int hour, int minute, int second, in nanos)
- public static LocalDateTime of(int year, Month month,int dayOfMonth, int hour, int minute)
- public static LocalDateTime of(int year, Month month,int dayOfMonth, int hour, int minute, int second)
- public static LocalDateTime of(int year, Month month,int dayOfMonth, int hour, int minute, int second, int nanos)
- public static LocalDateTime of(LocalDate date, LocalTime time)
Wie kann man ein ZonedDateTime objekt bspw. von einem LocalDate, LocalTime und ZoneId erzeugen?
- public static ZonedDateTime of(int year, int month,int dayOfMonth, int hour, int minute, int second, int nanos, ZoneId zone)
- public static ZonedDateTime of(LocalDate date, LocalTime time, ZoneId zone)
- public static ZonedDateTime of(LocalDateTime dateTime, ZoneId zone)
Kann man die Date/Time klassen über konstruktoren erzeugen?
Nein, alle konstruktoren dort sind private. man muss die factories verwenden
Funktioniert das?
LocalDate d = new LocalDate();
Nein, man kann keine Date/Time objekte direkt erzeugen
Was passiert hier?
LocalDate.of(2015, Month.JANUARY, 32)
java.time.DateTimeException: Invalid value for DayOfMonth
(valid values 1—28/31): 32
Wie kann man zu einem LocalDate tage/wochen/monate/jahre dazuzählen? Worauf muss man achten?
Date und timeklassen sind immutable -> kommt ein neues Objekt zurück!
- date = date.plusDays(2)
- date = date.plusWeeks(1)
- date = date.plusMonths(1)
- date = date.plusYears(1)
Wie kann man bei einem LocalDateTime zurückgehen? Worauf muss man achten?
Date/Time objekte sind immutable!
- date = date.minusDays(1)
- date = date.minusHours(12)
- date = date.minusSeconds(12)
Wie bekommt man die Zeit seit dem 1.1.1970 bei LocalDate?
toEpochDay()
Wie bekommt man die Zeit seit dem 1.1.1970 bei LocalDateTime/ZonedDateTime
toEpochSecond
Wie bekommt man die Zeit seit dem 1.1.1970 bei LocalTime?
Gar nicht -> ist ja nur eine Zeit die es jeden TAg gibnt
Wie kann man bei LocalDate schauen ob eine Zeit vor einer anderen ist?
localDateObject.isBefore(localDateObjectEnd)
Wie erzeugt man eine Period-Klasse?
- Period annually = Period.ofYears(1); // every 1 year
- Period quarterly = Period.ofMonths(3); // every 3 months
- Period everyThreeWeeks = Period.ofWeeks(3); // every 3 weeks
- Period everyOtherDay = Period.ofDays(2); // every 2 days
- Period everyYearAndAWeek = Period.of(1, 0, 7); // every year and 7 days
Was ist hier falsch?
Period wrong = Period.ofYears(1).ofWeeks(1);
Es wird nur die letzte Methode genutzt weil die Period of-Methoden statische methoden sind
Was wäre die Ausgabe hier?
System.out.println(Period.ofWeeks(3));
P21D -> Period speichert nicht wochen, nur Tage --> 21 Tage
Wann nimmt man Period, wann Durations?
Durations für kleinere Zeitbereiche - Tage,Stunden, minuten, sekunden, nanosekunden
Wie kann man Durationobjekte anlegen?
- Duration daily = Duration.ofDays(1); // PT24H
- Duration hourly = Duration.ofHours(1); // PT1H
- Duration everyMinute = Duration.ofMinutes(1); // PT1M
- Duration everyTenSeconds = Duration.ofSeconds(10); // PT10S
- Duration everyMilli = Duration.ofMillis(1); // PT0.001S
- Duration everyNano = Duration.ofNanos(1); // PT0.000000001S
Wie kann man von ChronoUnit zu TimeUnit converten, bzw. umgekehrt?
public ChronoUnit toChronoUnit()
public static TimeUnit of(ChronoUnit chronoUnit)