📜  Dart – 泛型

📅  最后修改于: 2021-09-02 05:10:42             🧑  作者: Mango

Dart,默认情况下集合是异构的。但是,通过使用泛型,我们可以创建一个集合来保存同类值。泛型的使用使得在集合中使用单一的强制数据类型。这样的集合称为类型安全集合。通过使用泛型, Dart语言确保了类型安全

句法:

Collection_name  identifier= new Collection_name 

我们可以使用ListSetMapQueue泛型在Dart实现类型安全。

通用清单

在Dart,一个 List 只是一组有序的对象。列表只是数组的实现。

例子:

Dart
main() {  
  List  listEx = new List ();  
  listEx.add(341);  
  listEx.add(1);  
  listEx.add(23);  
     
  // iterating across list listEx  
  for (int element in listEx) {  
     print(element);  
  }  
}


Dart
main() {  
  Set  SetEx = new Set ();  
  SetEx.add(12);  
  SetEx.add(3);  
  SetEx.add(4); 
    
  // Already added once, hence wont be added
  SetEx.add(3);  
     
  // iterating across Set SetEx  
  for (int element in SetEx) {  
     print(element);  
  }  
}


Dart
main() {  
    
  // Creating a Map with Name and ids of students
  Map  mp={'Ankur':1,'Arnav':002,'Shivam':003};  
  print('Map :${mp}');  
}


Dart
import 'dart:collection';  
  
main() {  
  Queue q = new Queue();    
    
  // Inserting at end of the queue
  q.addLast(1);  
    
  // Inserting at end of the queue
  q.addLast(2);  
    
  // Inserting at start of the queue
  q.addFirst(3);
    
  // Inserting at end of the queue  
  q.addLast(4);  
    
  // Current Queue order is 3 1 2 4.
  // Removing the first element(3) of the queue  
  q.removeFirst();  
    
  // Iterating over the queue
  for(int element in q){  
     print(element);  
  }  
}


输出:

341
1
23

通用集

在Dart,一个 Set 代表一个对象的集合,其中每个对象只能存在一次。

例子:

Dart

main() {  
  Set  SetEx = new Set ();  
  SetEx.add(12);  
  SetEx.add(3);  
  SetEx.add(4); 
    
  // Already added once, hence wont be added
  SetEx.add(3);  
     
  // iterating across Set SetEx  
  for (int element in SetEx) {  
     print(element);  
  }  
}

输出:

12
3
4

通用地图

在Dart, Map 是键值对的动态集合。

例子:

Dart

main() {  
    
  // Creating a Map with Name and ids of students
  Map  mp={'Ankur':1,'Arnav':002,'Shivam':003};  
  print('Map :${mp}');  
}

输出:

Map :{Ankur: 1, Arnav: 2, Shivam: 3}

通用队列

队列是在以 FIFO(先进先出)方式插入数据时使用的集合。在Dart,可以在两端操作队列,即在队列的开头和结尾。

例子:

Dart

import 'dart:collection';  
  
main() {  
  Queue q = new Queue();    
    
  // Inserting at end of the queue
  q.addLast(1);  
    
  // Inserting at end of the queue
  q.addLast(2);  
    
  // Inserting at start of the queue
  q.addFirst(3);
    
  // Inserting at end of the queue  
  q.addLast(4);  
    
  // Current Queue order is 3 1 2 4.
  // Removing the first element(3) of the queue  
  q.removeFirst();  
    
  // Iterating over the queue
  for(int element in q){  
     print(element);  
  }  
}

输出:

1
2
4