Conceptos básicos de dardos - Tipos de colección

Conceptos básicos de dardos - Tipos de colección

1. Definición del tipo de colección

Para los tipos de colección, Dart tiene los tres integrados más utilizados: List / Set / Map.

Entre ellos, Listse puede definir de la siguiente manera:

// List定义// 1.使用类型推断定义
var letters = ['a', 'b', 'c', 'd'];
print('$letters ${
      
      letters.runtimeType}');
// 2.明确指定类型
List<int> numbers = [1, 2, 3, 4];print('$numbers ${
      
      numbers.runtimeType}');

Entre ellos, setse puede definir de la siguiente manera:

  • De hecho, solo es cuestión de []reemplazarlo {}.
  • SetLas dos Listmayores diferencias son: Setestá desordenado y los elementos no se repiten.
// Set的定义
// 1.使用类型推导定义
var lettersSet = {
    
    'a', 'b', 'c', 'd'};
print('$lettersSet ${
      
      lettersSet.runtimeType}');
// 2.明确指定类型
Set<int> numbersSet = {
    
    1, 2, 3, 4};
print('$numbersSet ${
      
      numbersSet.runtimeType}');

Finalmente, Mapestá el tipo de diccionario que solemos decir, y su definición es la siguiente:

// Map的定义
// 1.使用类型推导定义
var infoMap1 = {
    
    'name': 'why', 'age': 18};
print('$infoMap1 ${
      
      infoMap1.runtimeType}');

// 2.明确指定类型
Map<String, Object> infoMap2 = {
    
    'height': 1.88, 'address': '北京市'};
print('$infoMap2 ${
      
      infoMap2.runtimeType}');

2. Operaciones comunes sobre cobros

Después de comprender cómo se definen estas tres colecciones, veamos algunas de las operaciones públicas más básicas.

La primera categoría es la propiedad de obtener la longitud admitida por todas las colecciones length:

// 获取集合的长度
print(letters.length);
print(lettersSet.length);
print(infoMap1.length);

La segunda categoría, es agregar/eliminar/incluir operaciones

  • Y, Listpara que el elemento esté ordenado, también proporciona un método para eliminar el elemento en la posición de índice especificada
// 添加/删除/包含元素
numbers.add(5);
numbersSet.add(5);
print('$numbers $numbersSet');

numbers.remove(1);
numbersSet.remove(1);
print('$numbers $numbersSet');

print(numbers.contains(2));
print(numbersSet.contains(2));

// List根据index删除元素
numbers.removeAt(3);
print('$numbers');

La tercera categoría, sí Mapoperación

  • Dado que tiene una clave y un valor, ya sea leyendo un valor u operando, debe basarse claramente en la clave, el valor o el par clave/valor.
// Map的操作
// 1.根据key获取
valueprint(infoMap1['name']);

// 2.获取所有的entries
print('${
      
      infoMap1.entries} ${
      
      infoMap1.entries.runtimeType}');

// 3.获取所有的keys
print('${
      
      infoMap1.keys} ${
      
      infoMap1.keys.runtimeType}'); 

// 4.获取所有的values
print('${
      
      infoMap1.values} ${
      
      infoMap1.values.runtimeType}'); 

// 5.判断是否包含某个key或者value
print('${infoMap1.containsKey('age')} ${
      
      infoMap1.containsValue(18)}'); // true true


// 6.根据key删除元素
infoMap1.remove('age');print('${
      
      infoMap1}'); 

referencia:

Cuenta oficial del profesor Coderwhy

Supongo que te gusta

Origin blog.csdn.net/MrLizuo/article/details/127669059
Recomendado
Clasificación