Skip to content

Commit b8fb179

Browse files
committed
Exemplo associação bidirecional
1 parent 62ee53e commit b8fb179

File tree

10 files changed

+108
-4
lines changed

10 files changed

+108
-4
lines changed

3esoft2020-atividades.asta

9.53 KB
Binary file not shown.

3esoft2020.asta

14.2 KB
Binary file not shown.

3sadsis2020.asta

2.5 KB
Binary file not shown.

src/main/java/aula20200525/x/AppX.java src/main/java/aula20200525/localidades/AppLocalidades.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
package aula20200525.x;
1+
package aula20200525.localidades;
22

3-
public class AppX {
3+
public class AppLocalidades {
44

55
public static void main(String[] args) {
66
País br = new País("Brasil", 55);

src/main/java/aula20200525/x/Estado.java src/main/java/aula20200525/localidades/Estado.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package aula20200525.x;
1+
package aula20200525.localidades;
22

33
public class Estado {
44

src/main/java/aula20200525/x/País.java src/main/java/aula20200525/localidades/País.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package aula20200525.x;
1+
package aula20200525.localidades;
22

33
import java.util.ArrayList;
44

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package aula20200529.desempenhoCollections;
2+
3+
import java.util.ArrayList;
4+
5+
6+
//4.5 segundos
7+
public class AppDesempenhoCollections {
8+
9+
public static void main(String[] args) {
10+
11+
ArrayList<Long> números = new ArrayList<>();
12+
for (long i = 0; i < 10_000_000; i++) {
13+
números.add(i);
14+
}
15+
16+
long início = System.currentTimeMillis();
17+
System.out.println("Contém 9_999_999? " + números.contains(9_999_999));
18+
19+
System.out.println("Tamanho da coleção de números: " + números.size());
20+
21+
long término = System.currentTimeMillis();
22+
System.out.println("Tempo decorrido: " + ((término - início)/1000.0) + " em segundos");
23+
}
24+
25+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
package aula20200529.localidadesAssocBidirecional;
2+
3+
public class AppLocalidades {
4+
5+
public static void main(String[] args) {
6+
País brasil = new País("República Federativa do Brasil");
7+
8+
Estado pr = new Estado("Paraná", brasil);
9+
Estado ac = new Estado("Acre", brasil);
10+
11+
brasil.removeEstado(ac);
12+
13+
System.out.println("País do Acre: " + ac.getPaís().getNome());
14+
System.out.println("País do Paraná: " + pr.getPaís().getNome());
15+
16+
System.out.println();
17+
System.out.println("Estados do Brasil:");
18+
for (Estado e : brasil.getEstados()) {
19+
System.out.println(e.getNome());
20+
}
21+
22+
}
23+
24+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package aula20200529.localidadesAssocBidirecional;
2+
3+
public class Estado {
4+
private String nome;
5+
private País país;
6+
7+
public Estado(String nome, País país) {
8+
this.nome = nome;
9+
this.país = país;
10+
//Vamos adicionar este estado (this) ao País ao qual ele pertence!
11+
this.país.addEstado(this);
12+
}
13+
14+
public void setPaís(País país) {
15+
this.país = país;
16+
}
17+
18+
public País getPaís() {
19+
return país;
20+
}
21+
22+
public String getNome() {
23+
return nome;
24+
}
25+
26+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
package aula20200529.localidadesAssocBidirecional;
2+
3+
import java.util.ArrayList;
4+
5+
public class País {
6+
private String nome;
7+
private ArrayList<Estado> estados = new ArrayList<>();
8+
9+
public País(String nome) {
10+
this.nome = nome;
11+
}
12+
13+
public void addEstado(Estado e) {
14+
this.estados.add(e);
15+
}
16+
17+
public void removeEstado(Estado e) {
18+
this.estados.remove(e);
19+
e.setPaís(new País("S E M P A Í S"));
20+
}
21+
22+
public ArrayList<Estado> getEstados() {
23+
return estados;
24+
}
25+
26+
public String getNome() {
27+
return nome;
28+
}
29+
}

0 commit comments

Comments
 (0)