-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path39-Maps-2.dart
41 lines (31 loc) · 1.18 KB
/
39-Maps-2.dart
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
// Maps: geram pares key - value, onde os keys sao unicos.
// Os values podem ser repetidos
void main() {
Map<int,String> marks = { // cria Map<String, int>. Vantagem disso
10: '10',
20:'20',
30:'30', // virgula nao eh necessaria, mas aqui eh ignorada.
};
marks[40]='200';
print(marks);
marks[10]='100';
print(marks);
marks.addAll({40: '900', 50:'upa', 60: 'eita'}); // alem de adicionar novos elementos, mudou o elemento [40]
print(marks);
marks.remove(40);
print(marks);
for (int i = 0; i<marks.length; i++) {
print(marks[i]); // existem 5 elementos em map, porem, os indices nao sao 0 a 5. entao
// aqui vai imprimir errado, 5x null
}
for (int i =0; i<marks.length; i++) { // gera erro, imprime todos os indices varias vezes
print(marks.keys.toList());
}
for (int i =0; i<marks.length; i++) { // agora certo
print(marks.keys.toList()[i]);
}
for (int i =0; i<marks.length; i++) { // agora certo
print('${marks.keys.toList()[i]} : ${marks.values.toList()[i]}');
}
marks.forEach((key, value) {print('$key: $value');}); // faz a mesma coisa do que fizemos acima
}