|
1 | 1 | :java-package: src/org/j6toj8/collections |
2 | 2 | :section-java-package: ../../../{java-package} |
3 | 3 |
|
4 | | -=== Melhorias de Java 8 em Coleções |
| 4 | +=== Java 8 collection improvements |
5 | 5 |
|
6 | | -.Objetivo |
| 6 | +.Objective |
7 | 7 | -------------------------------------------------- |
8 | 8 | Develop code that uses Java SE 8 collection improvements, including the Collection.removeIf(), List.replaceAll(), Map.computeIfAbsent(), and Map.computeIfPresent() methods |
9 | | -- |
10 | | -Desenvolver código que use as melhorias em coleções do Java SE 8, incluindo os métodos Collection.removeIf(), List.replaceAll(), Map.computeIfAbsent(), e Map.computeIfPresent() |
11 | 9 | -------------------------------------------------- |
12 | 10 |
|
13 | | -O Java 8 trouxe vários métodos em Collections que utilizam como argumento uma função lambda, facilitando algumas operações. Serão apresentados exemplos dos 4 métodos relacionados a esse objetivo. |
| 11 | +Java 8 has introduced several methods in Collections that use a lambda function as argument, making some operations easier. Examples of the 4 methods related to this objective will be presented. |
14 | 12 |
|
15 | | -. É possível remover um item de uma coleção condicionalmente com uma função lambda. |
| 13 | +. You can conditionally remove an item from a collection with a lambda function. |
16 | 14 | + |
17 | 15 | [source,java,indent=0] |
18 | 16 | .{java-package}/improvements/Collections_RemoveIf.java |
19 | 17 | ---- |
20 | 18 | include::{section-java-package}/improvements/Collections_RemoveIf.java[tag=code] |
21 | 19 | ---- |
22 | 20 | + |
23 | | -.Saída no console |
| 21 | +.console output |
24 | 22 | [source,console] |
25 | 23 | ---- |
26 | | -Lista antes do removeIf: [1, 2, 3, 4, 5, 6, 7, 8, 9] |
27 | | -Lista depois do removeIf: [1, 3, 5, 7, 9] |
| 24 | +List before removeIf: [1, 2, 3, 4, 5, 6, 7, 8, 9] |
| 25 | +List after removeIf: [1, 3, 5, 7, 9] |
28 | 26 | ---- |
29 | 27 |
|
30 | | -. É possível modificar todos os elementos da coleção de acordo com uma operação lambda. |
| 28 | +. You can modify all elements of the collection according to a lambda operation. |
31 | 29 | + |
32 | 30 | [source,java,indent=0] |
33 | 31 | .{java-package}/improvements/Collections_ReplaceAll.java |
34 | 32 | ---- |
35 | 33 | include::{section-java-package}/improvements/Collections_ReplaceAll.java[tag=code] |
36 | 34 | ---- |
37 | 35 | + |
38 | | -.Saída no console |
| 36 | +.console output |
39 | 37 | [source,console] |
40 | 38 | ---- |
41 | | -Lista antes do replaceAll: [1, 2, 3, 4, 5, 6, 7, 8, 9] |
42 | | -Lista depois do replaceAll: [2, 4, 6, 8, 10, 12, 14, 16, 18] |
| 39 | +List before replaceAll: [1, 2, 3, 4, 5, 6, 7, 8, 9] |
| 40 | +List after replaceAll: [2, 4, 6, 8, 10, 12, 14, 16, 18] |
43 | 41 | ---- |
44 | 42 |
|
45 | | -. É possível colocar valores em um `Map` a partir de uma função lambda, apenas se a chave *não* estiver presente no `Map`. |
| 43 | +. You can put values in a `Map` from a lambda function only if the *key* is not present in `Map`. |
46 | 44 | + |
47 | 45 | [source,java,indent=0] |
48 | 46 | .{java-package}/improvements/Collections_ComputeIfAbsent.java |
49 | 47 | ---- |
50 | 48 | include::{section-java-package}/improvements/Collections_ComputeIfAbsent.java[tag=code] |
51 | 49 | ---- |
52 | 50 | + |
53 | | -.Saída no console |
| 51 | +.console output |
54 | 52 | [source,console] |
55 | 53 | ---- |
56 | | -Map antes do computeIfAbsent: {A=65, B=66} |
57 | | -Map depois do computeIfAbsent: {A=65, B=66, C=67} |
| 54 | +Map before computeIfAbsent: {A=65, B=66} |
| 55 | +Map after computeIfAbsent: {A=65, B=66, C=67} |
58 | 56 | ---- |
59 | 57 |
|
60 | | -. É possível alterar valores em um `Map` a partir de uma função lambda, apenas se a chave estiver presente no `Map`. |
| 58 | +. You can change values in a `Map` from a lambda function only if the key is present in `Map`. |
61 | 59 | + |
62 | 60 | [source,java,indent=0] |
63 | 61 | .{java-package}/improvements/Collections_ComputeIfPresent.java |
64 | 62 | ---- |
65 | 63 | include::{section-java-package}/improvements/Collections_ComputeIfPresent.java[tag=code] |
66 | 64 | ---- |
67 | 65 | + |
68 | | -.Saída no console |
| 66 | +.console output |
69 | 67 | [source,console] |
70 | 68 | ---- |
71 | | -Map antes do computeIfPresent: {A=65, B=66} |
72 | | -Map depois do computeIfPresent: {A=4225, B=4356} |
| 69 | +Map before computeIfPresent: {A=65, B=66} |
| 70 | +Map after computeIfPresent: {A=4225, B=4356} |
73 | 71 | ---- |
74 | 72 |
|
| 73 | +.References |
75 | 74 | **** |
76 | 75 |
|
77 | 76 | * Using Streams |
78 | 77 | + |
79 | | -Boyarsky, Jeanne; Selikoff, Scott. OCP: Oracle Certified Professional Java SE 8 Programmer II Study Guide (p. 185). Wiley. Edição do Kindle. |
| 78 | +Boyarsky, Jeanne; Selikoff, Scott. OCP: Oracle Certified Professional Java SE 8 Programmer II Study Guide (p. 185). Wiley. Kindle Edition. |
80 | 79 |
|
81 | 80 | * https://www.baeldung.com/java-8-streams[The Java 8 Stream API Tutorial.] |
82 | 81 |
|
83 | | -**** |
| 82 | +**** |
0 commit comments