Dart learning notes List Set Map details

List Set Map details

Properties and methods commonly used in List

Common attributes:
  • length
  • reversed flip (note that this is an attribute whose value is a string)
  • Is isEmpty empty
  • Is isNotEmpty not empty
Common methods:
  • List.filled(num,value) (static method, create a new list with num values)
  • add adds an array element
  • addAll(List) splice array
  • indexOf finds, returns index if found, and returns - 1 if not
  • remove deletes the specific value passed in
  • removeAt deletes the incoming index value
  • fillRange(start, end, value) replaces the elements of the specified range (including the start index and excluding the end index) with value, and the return value is void
  • insert(index,value) inserts after the specified element
  • insertAll(index,List) inserts a List after the specified element
  • toList() convert other types to List
  • The join(separator) List is converted into a string, and each element is separated by a separator
  • The split(separator) string is converted into a List. By default, each element is separated by a separator
  • forEach traversal
  • map
  • where
  • any
  • every
Detailed explanation of difficulties

map()

The map method accepts an anonymous function as a parameter, executes the anonymous method with value as a parameter each iteration, puts the return value into a new iteratable object, and finally returns an iteratable object
In the map object of the list, the passed in parameter value defaults to the value of the element

  List myList = [1,3,4];
  var newList=myList.map((value){
    return value*2;
  });

where()

Similar to the map method, but returns all values that meet the conditions

  List myList = [1,3,4,5,7,9];
  var newList=myList.where((value){
    return value>4;
  });
a sudden whim to

What happens if you replace where with map in the code of the where example?

  List myList = [1,3,4,5,7,9];
  var newList=myList.map((value){
    return value>4;
  });
  print(newList);

The return value we get is:

(false, false, false, true, true, true)

It is concluded that the return value of map is the collection of return values of each anonymous method
where the return value is a collection of elements whose anonymous method return value is true

any()

Check whether there are qualified elements in the collection. If so, return true

  List myList = [1,3,4,5,7,9];
  var flag=myList.any((value){
    return value>7;
  });

every()

Checks whether each element in the collection meets the conditions. If it meets the conditions, it returns true

Code slightly

Set

  • Its main function is to remove the duplicate contents of the array

  • Set is a collection without book order and cannot be repeated. It cannot obtain values through index

Using set to remove duplication

List myList=["1","2","3","1","2","3"];
var set = new Set();
set.addAll(myList);  

Prints all elements in the set

  var s = new Set();
  s.addAll([1,2,3]);
  s.forEach((element)=>print(element));

Map maps unordered key value pairs

Two ways to initialize a map

var person={
"name":"bob",
"age":20
};    

var m = new Map();
m["name"]="jenny";
m["age"]=21
Common attributes:
  • keys gets all key values, often followed by a toList method
  • Values gets all the value values
  • Is isEmpty empty
  • Is isNotEmpty not empty
Common methods:
  • remove(key) deletes the specified k-v
  • addAll({...}) merges the mapping and adds the parameter data to the map
  • containsValue view the value in the map and return true/false
  • forEach
  • map
  • where
  • any
  • every

Loop printing key value pairs in map

  var person={
    "name":"bob",
    "age":20,
    "sex":"male"
  };

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

Supplement: advanced cycle

Enhanced for loop
  for(var item in list){
    print(item);
  }
.forEach
  list.forEach((value) {
    print("$value");
  });

For more details, please refer to the api documentation (English)
https://api.dart.cn/stable/2.14.2/dart-core/List-class.html

Tags: dart

Posted on Wed, 29 Sep 2021 16:58:40 -0400 by omanush