-
Notifications
You must be signed in to change notification settings - Fork 0
/
37-Sets.dart
28 lines (23 loc) · 1.49 KB
/
37-Sets.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
// SETS // parecido com lista, mas tira automaticamente itens duplicados. Soh mantem o primeiro
// em vez de [] sets usam {}
void main() {
final Student penetra1 = Student('penetra 1',10); // item que sera inserido varias vezes no set abaixo
final Student penetra2 = Student('penetra 2',20); // item que sera inserido varias vezes no set abaixo
Set<Student> students = {Student('Valdemar',80),Student('Jaqueline',100),penetra1,penetra1,penetra2,
Student('Julia',70),Student('Sarah',70),Student('Niels Roberto',60),
Student('Cecilia',60),penetra2,Student('Catarina',50),penetra2,penetra1,penetra2};
print(students);
// Eh possivel pegar uma lista e fazer o comando toSet a fim de tirar itens duplicados:
List<Student> students2 = [Student('Valdemar',80),Student('Jaqueline',100),penetra1,penetra1,penetra2,
Student('Julia',70),Student('Sarah',70),Student('Niels Roberto',60),
Student('Cecilia',60),penetra2,Student('Catarina',50),penetra2,penetra1,penetra2];
print(students2);
print(students2.toSet());
}
class Student { // genérico. Pode escrever qualquer coisa <A>, <X> etc.
final String name;
final int marks;
Student(this.name, this.marks); // construtor
@override // sem o metodo toString definido aqui em @override, ou seja, substituindo o original de qualquer class,
String toString() => 'Student: $name'; // a cada chamada de print student ia aparecer a frase "Instance of Student". toString original eh padrao
}