Dart (2) - Propiedades y métodos comunes de expresiones de bucle, lista, conjunto y mapa

Dart (1) - variables, constantes, tipos básicos, operadores, juicios condicionales y conversiones de tipo

Expresión de bucle de Dart

en bucle

for (int i = 1; i<=100; i++) {   
  print(i);
}

También se puede escribir como:

for (var i = 1; i<=10; i++) {
  print(i);
}

Para Listel recorrido podemos hacer:

var list = <String>["张三","李四","王五"];
for (var element in list) {
  print(element);
}

Para Mapla iteración también podemos usar una fordeclaración de bucle:

var person={
  "name":"小明",
  "age":28,
  "work":["程序员","Android开发"]
};

person.forEach((key, value) {
  print(value);
});

mientras declaración

whileHay dos formatos de declaración:

while(表达式/循环条件){    
 
}  
    
do{
 语句/循环体
 
}while(表达式/循环条件);

Aviso:

  • 1. No olvides el último punto y coma
  • 2. Las variables utilizadas en las condiciones de bucle deben inicializarse
  • 3. En el cuerpo del ciclo, debe haber condiciones para finalizar el ciclo, de lo contrario, se generará un ciclo infinito.

Vea el código a continuación:

int i = 1;
while (i <= 10) {
  print(i);
  i++;
}

do...while()La mayor diferencia es que se ejecutará al menos una vez independientemente de si la condición es verdadera o no:

var i = 2;
do{
  print('执行代码');
}while(i < 2);

romper y continuar declaraciones

función de declaración de interrupción:

  • Haga que el flujo salga de la estructura en la switchdeclaración .switch
  • En la declaración del ciclo, el proceso salta fuera del ciclo actual. Cuando breakfinaliza el ciclo, el siguiente código no se ejecutará.

Cabe destacar que:

  • Si la declaración ya se ha ejecutado en el bucle, la breakdeclaración después de la interrupción en el cuerpo del bucle no se ejecutará.
  • En un bucle de varias capas, una breakdeclaración solo puede saltar un nivel

breakSe puede utilizar tanto en bucles switch casecomo en bucles.forwhile

La función de continuar declaración:

Solo se puede usar en una instrucción de ciclo para finalizar el ciclo actual, es decir, omitir la instrucción no ejecutada debajo del cuerpo del ciclo y luego decidir si ejecutar el ciclo la próxima vez.

continueSe puede usar en forbucles y whilebucles, pero no se recomienda usarlo en whilebucles, y es fácil morir accidentalmente.

uso de descanso:

//如果 i等于4的话跳出循环
for(var i=1;i<=10;i++){
  if(i==4){
    break;  /*跳出循环体*/
  }
  print(i);
}
//break语句只能向外跳出一层
 for(var i = 0;i < 5;i++){
    for(var j = 0;j< 3;j++){
      if(j == 1){
        break;
      }
    }  
 }

El ciclo while salta:

//while循环 break跳出循环

var i = 1;

while(i< =10){
  if(i == 4){
    break;
  }
  print(i);
  i++;
}

seguir usando:

//如果i等于4的话跳过

for(var i=1;i<=5;i++){
  if(i == 2){
    continue;  //跳过当前循环体 然后循环还会继续执行
  }
  print(i);
}

Enumerar propiedades y métodos comunes

Propiedades comunes:

  • lengthlongitud
  • reverseddar la vuelta
  • isEmptyesta vacio
  • isNotEmptyno está vacío

Método común:

  • addAumentar
  • addAllmatriz concatenada
  • indexOfBuscar valor específico entrante
  • removeEliminar valor específico entrante
  • removeAteliminar el valor de índice entrante
  • fillRangeRevisar
  • insert(index,value)Insertar en la ubicación especificada
  • insertAll(index,list)Insertar una lista en una ubicación específica
  • toList()Convertir otros tipos a Lista
  • join()Convertir lista en cadena
  • split()Convertir cadena a Lista
  • forEach
  • map
  • where
  • any

Algunas propiedades y métodos comunes usan ejemplos:

var list=['张三','李四','王五',"小明"];
print(list.length);
print(list.isEmpty);
print(list.isNotEmpty);
print(list.reversed);  //对列表倒序排序

print(list.indexOf('李四'));    //indexOf查找数据 查找不到返回-1  查找到返回索引值

list.remove('王五');

list.removeAt(2);

list.fillRange(1, 2,'a');  //修改 1是开始的位置 2二是结束的位置

print(list);

list.insert(1,'a');

print(list);

list.insertAll(1, ['a','b']); //插入多个

Establecer

La función principal de Set es eliminar el contenido duplicado de la matriz, es una colección que no tiene orden y no se puede repetir, por lo que el valor no se puede obtener por índice.

var s = new Set();
s.add('A');
s.add('B');
s.add('B');

print(s); //{A, B}

Cuando addno se puede añadir el mismo contenido.

Un conjunto puede agregar uno a través de addmétodos Listy borrar elementos con el mismo valor:

var list = ['香蕉','苹果','西瓜','香蕉','苹果','香蕉','苹果'];
var s = new Set();
s.addAll(list);
print(s);
print(s.toList());

Asignar propiedades y métodos comunes

El mapa es un par clave-valor no ordenado. Sus propiedades comunes son las siguientes:

Propiedades comunes:

  • keysObtener todos los valores clave
  • valuesobtener todos los valores
  • isEmptyesta vacio
  • isNotEmptyno está vacío

Método común:

  • remove(key)Eliminar los datos de la clave especificada
  • addAll({...})Combinar mapas para agregar atributos al mapa
  • containsValueVer el valor dentro del mapa devuelve verdadero/falso
  • forEach
  • map
  • where
  • any
  • every

transformación del mapa:

List list = [1, 3, 4];
//map转换,根据返回值返回新的元素列表
var newList = list.map((value) {
  return value * 2;
});
print(newList.toList());

donde: Obtener los elementos que cumplen las condiciones:

List list = [1,3,4,5,7,8,9];

var newList = list.where((value){
    return value > 5;
});
print(newList.toList());

any: si hay un elemento que coincida con la condición

List list = [1, 3, 4, 5, 7, 8, 9];
//只要集合里面有满足条件的就返回true
var isContain = list.any((value) {
  return value > 5;
});
print(isContain);

cada: cada uno de ellos debe cumplir la condición

List myList=[1,3,4,5,7,8,9];
//每一个都满足条件返回true  否则返回false
var flag = myList.every((value){
  
    return value > 5;
});
print(flag);

El conjunto se recorre usando forEach:

var s=new Set();

s.addAll([11,22,33]);

s.forEach((value) => print(value));

El mapa se recorre usando forEach:

Map person={
  "name":"张三",
  "age":28
};

person.forEach((key,value){
  print("$key -> $value");
});

Supongo que te gusta

Origin juejin.im/post/7116159285054144526
Recomendado
Clasificación