Capitolul 3 - Streams API Flashcards

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
Q

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

A

Returneaza un boolean: true daca niciun element din stream nu respecta conditia dintre paranteze

26
Q

Ce returneaza Optional.empty()

A

un optional gol

27
Q

Ce returneaza Optional.of(null)

A

se va arunca exceptie

28
Q

Ce returneaza Optional.ofNullable(null)

A

un optional gol

29
Q

Ce returneaza Optional.isPresent() ?

A

returneaza true daca optionalul nu e empty.