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)

Welche plus/minus methoden kann man auf LocalDate/LocalTime/LocalDateTime/ZonedDateTime aufrufen?

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)