Differences

This shows you the differences between two versions of the page.

Link to this comparison view

poo-ca-cd:laboratoare:java-features [2025/01/07 22:07]
dragos.dragan1403 [Limbajul Kotlin]
poo-ca-cd:laboratoare:java-features [2025/01/08 10:20] (current)
dragos.dragan1403 [flatMap și groupingBy]
Line 1: Line 1:
-===== Laboratorul 11: Java features =====+===== Laboratorul 11: Streams. ​Java features =====
 ==== Obiective ==== ==== Obiective ====
-  * înțelegerea conceptelor de expresii lambda și de streams 
   * familiarizarea cu metode default și cu metode statice în interfețe   * familiarizarea cu metode default și cu metode statice în interfețe
-  * utilizarea ​de structuri sintactice introduse începând cu Java 8 (var)+  * înțelegerea conceptelor ​de expresii lambda 
 +  * utilizare streams :-)
  
 +
 +<​hidden>​
 +  * utilizarea de structuri sintactice introduse începând cu Java 8 (var)
 +</​hidden>​
 ==== Metode statice și metode default în interfețe ==== ==== Metode statice și metode default în interfețe ====
 Începând cu Java 8, putem implementa metode în cadrul interfețelor,​ unde, în mod clasic, avem doar metode neimplementate (abstracte). Mai precis, noi putem să implementăm trei tipuri de metode: default (non-statice),​ statice, iar începând cu Java 9 și private. Începând cu Java 8, putem implementa metode în cadrul interfețelor,​ unde, în mod clasic, avem doar metode neimplementate (abstracte). Mai precis, noi putem să implementăm trei tipuri de metode: default (non-statice),​ statice, iar începând cu Java 9 și private.
Line 223: Line 227:
 </​code>​ </​code>​
  
-Interfața [[https://​docs.oracle.com/​en/​java/​javase/​15/​docs/​api/​java.base/​java/​util/​function/​Function.html | Function<​T,​ R>]] expune și metode care pot înlănșui alte operașii de tipul Function.+Interfața [[https://​docs.oracle.com/​en/​java/​javase/​15/​docs/​api/​java.base/​java/​util/​function/​Function.html | Function<​T,​ R>]] expune și metode care pot înlănțui alte operații de tipul Function.
   * [[https://​docs.oracle.com/​en/​java/​javase/​15/​docs/​api/​java.base/​java/​util/​function/​Function.html#​andThen(java.util.function.Function) | andThen(Function<​T,​ R>)]] - functia data ca parametru este executata dupa cea la care este apelata metoda   * [[https://​docs.oracle.com/​en/​java/​javase/​15/​docs/​api/​java.base/​java/​util/​function/​Function.html#​andThen(java.util.function.Function) | andThen(Function<​T,​ R>)]] - functia data ca parametru este executata dupa cea la care este apelata metoda
   * [[https://​docs.oracle.com/​en/​java/​javase/​15/​docs/​api/​java.base/​java/​util/​function/​Function.html#​compose(java.util.function.Function) | compose(Function<​T,​ R>)]] - functia data ca parametru este executata inainte de cea la care este apelata metoda   * [[https://​docs.oracle.com/​en/​java/​javase/​15/​docs/​api/​java.base/​java/​util/​function/​Function.html#​compose(java.util.function.Function) | compose(Function<​T,​ R>)]] - functia data ca parametru este executata inainte de cea la care este apelata metoda
Line 268: Line 272:
 <code java> <code java>
 IntStream.range(1,​ 4) IntStream.range(1,​ 4)
-    .forEach(System.out::​println);​+    .forEach(System.out::​println); ​// 1 2 3
 </​code>​ </​code>​
  
Line 324: Line 328:
 String[] myNewArray =  Arrays.stream((String[])myArray.toArray()) String[] myNewArray =  Arrays.stream((String[])myArray.toArray())
       .filter(x -> x.length() > 4)       .filter(x -> x.length() > 4)
-      .toArray(String[]::​new);​+      .toArray(String[]::​new); ​// "​monkey",​ "​elephant",​ "​zebra"​
 </​code>​ </​code>​
  
Line 468: Line 472:
  
 Un exemplu ce ilustrează interoperabilitatea dintre Java și Kotlin poate fi găsit [[https://​github.com/​oop-pub/​oop-labs/​tree/​master/​src/​lab12/​kotlin | aici]]. Un exemplu ce ilustrează interoperabilitatea dintre Java și Kotlin poate fi găsit [[https://​github.com/​oop-pub/​oop-labs/​tree/​master/​src/​lab12/​kotlin | aici]].
-<​hidden>​+</hidden>
 ==== Exerciții ==== ==== Exerciții ====
 Laboratorul trebuie rezolvat pe platforma Devmind, fiind găsit [[https://​beta.lambdachecker.io/​contest/​23|aici]] Laboratorul trebuie rezolvat pe platforma Devmind, fiind găsit [[https://​beta.lambdachecker.io/​contest/​23|aici]]
poo-ca-cd/laboratoare/java-features.1736280479.txt.gz · Last modified: 2025/01/07 22:08 (external edit)
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0