Capitolul 3 - Streams API Flashcards

(29 cards)

1
Q

Ce face Consumer?

A

primeste o valoare si nu returneaza nimic (o consuma)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Ce face BiConsumer?

A

primeste 2 valori si nu returneaza nimic (le consuma)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Ce face Predicate?

A

primeste o valoare si returneaza true sau false

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Ce face BiPredicate?

A

primeste 2 valori si returneaza true sau false

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Ce face Supplier ?

A

nu primeste nimic dar returneaza o valoare

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Ce face Function?

A

primeste o valoare si returneaza o valoare

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Ce face BiFunction?

A

primeste 2 valori si returneaza o valoare

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Ce face UnaryOperator?

A

primeste o valoare si returneaza o valoare de acelasi tip ca a celei primite

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Ce face BinaryOperator?

A

primeste 2 valori si returneaza o valoare de acelasi tip ca a celei primite

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

In ce pachet sunt incluse interfetele Consumer, Supplier etc?

A

java.util.function

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Ce face IntFunction ?

A

este un Function care primeste un int si returneaza ceva

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Ce face ToIntFunction?

A

este un Function care primeste ceva si returneaza un int.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Ce face LongToIntFunction?

A

este un Function care primeste un long si returneaza un int.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

In ce pachet sunt incluse streams api?

A

java.util.stream

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Cum retunrezi un stream gol?

A

Stream s1 = Stream.empty();

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Ce face instructiunea de mai jos ? Ce interfata este folosita?
Stream.iterate(1,i->i+2);

A

iterate genereaza un stream infinit de numele impare incepand cu 1.
este folosit un UnaryOperator deoarece primeste o valoare si retuneaza o valoare de acelasi tip.

17
Q

Ce face instructiunea de mai jos ? Ce interfata este folosita?
Stream.generate(()->1);

A

generate genereaza un stream infinit alcatuit din 1.

este folosit un supplier - nu primeste nimic dar returneaza ceva

18
Q

Ce face instructiunea de mai jos ?

Stream.of(1,22,5,10);

A

Creeaza un stream alcatuit din 1,22,5,10.

19
Q

am lista de stringuri de mai jos
List list = List.of(“aaa”,”b”,”cc”,”d”);

Cum pot sa afisez suma lungimilor stringurilor.

A
int sum=
        list.stream()
                .map(s->s.length())
                .reduce(0,(a,b)->a+b);
        System.out.println(sum);
20
Q

cum afisez toate randurile dintr-un fisier care incep cu “ra”.

Path p = Paths.get(“./src/file1.txt”);

A

BufferedReader br = Files.newBufferedReader(p);
try(br){
long count= Stream.generate(()->read(br))
.takeWhile(Objects::nonNull)
.filter(line->line.startsWith(“ra”))
.count();
System.out.println(count);
}

}
    private static String read(BufferedReader br){
        try{
            return br.readLine();
        }catch (IOException e){
            return null;
        }
    }
21
Q

Folosind stream-uri afisati in consola numelere pare, in ordine crescatoare si fara valori duplicate

List list = List.of(4,5,3,2,4);

A
list.stream()
                .filter(i->i%2==0)
                .distinct()
                .sorted()
                .forEach(System.out::println);
22
Q

Descrieti ce face fiecare linie de cod de mai jos.
List list = List.of(“aa”,”bc”,”ad”,”bec”);
long count = list.stream()
.map(s -> s.split(“\s*”))
.map(sa -> List.of(sa))
.flatMap(ls -> ls.stream())
.filter(c -> “aeiou”.contains(c))
.count();

A

primul map sparge fiecare membru al stremului intr-un array de stringuri
al2lea map transforma fiecare array intr-o colectie
fat map-ul - mapeaza listele date la stream si concateneaza stream-urile rezultate obtinand unul singur. In acest moment avem un stream cu toate literele existente in stringurile initiale.

23
Q

Ce face a2a instructiune de mai jos
List list = List.of(1,2,3,5,7);
list.stream().allMatch(i->i%2!=0);

A

Returneaza un boolean: true daca toate elementele din stream respecta conditia dintre paranteze

24
Q

Ce face a2a instructiune de mai jos
List list = List.of(1,2,3,5,7);
list.stream().anyMath(i->i%2!=0);

A

Returneaza un boolean: true daca cel putin un element din stream respecta conditia dintre paranteze

25
Ce face a2a instructiune de mai jos List list = List.of(1,2,3,5,7); list.stream().noneMath(i->i%2!=0);
Returneaza un boolean: true daca niciun element din stream nu respecta conditia dintre paranteze
26
Ce returneaza Optional.empty()
un optional gol
27
Ce returneaza Optional.of(null)
se va arunca exceptie
28
Ce returneaza Optional.ofNullable(null)
un optional gol
29
Ce returneaza Optional.isPresent() ?
returneaza true daca optionalul nu e empty.