Dart语言学习三:集合List、Set、Map

List:

常用属性:
        length          长度
        reversed        翻转
        isEmpty         是否为空
        isNotEmpty      是否不为空
常用方法:  
        add         增加
        addAll      拼接数组
        indexOf     查找  传入具体值
        remove      删除  传入具体值
        removeAt    删除  传入索引值
        fillRange   修改   
        insert(index,value);            指定位置插入    
        insertAll(index,list)           指定位置插入List
        toList()    其他类型转换成List  
        join()      List转换成字符串
        split()     字符串转化成List
     
  forEach   
        map
        where
        any
        every

1、字符串切割为List

var str='张三-李四-王五-赵六-王二麻子';
var list=str.split('-');
print(list);
print(list is List);

2、List常规操作

  var list = [1, 2, 3, 4, 5, 6, 7];
  print(list);// [1, 2, 3, 4, 5, 6, 7]
  print(list.length);// 7
  print(list[0]);// 1

  var lis = new List();
  lis.add("张三");
  print(lis);// [张三]

  var l=new List<String>();//指定类型
  l.add("da");
  l.add("ge");
  print(l);// [da, ge]

 

Set:

1、用它最主要的功能是去除数组中的重复内容。

2、Set是没有顺序不能重复的集合,所以不能通过索引获取值。

常用属性:
        length          长度
        isEmpty         是否为空
        isNotEmpty      是否不为空
常用方法:  
        add         增加
        addAll      拼接数组
        remove      删除  传入具体值
        contains   是否包含
     
  forEach   
        map
        where
        any
        every

 var s = new Set();
  s.add('张三');
  s.add('李四');
  s.add('李四');

  print(s); //{张三, 李四}

  s.remove("张三");
  print(s);//{李四}

 

Map:

映射(Maps)是无序的键值对:

    常用属性:
        keys            获取所有的key值
        values          获取所有的value值
        isEmpty         是否为空
        isNotEmpty      是否不为空
    常用方法:
        remove(key)     删除指定key的数据
        addAll({...})   合并映射  给映射内增加属性
        containsValue   查看映射内的值  返回true/false
       
forEach   
        map
        where
        any
        every

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


  var m=new Map();
  m["name"]="李四";
  
  print(person);//{name: 张三, age: 20}
  print(m);//{name: 李四}

 bool p= person.containsValue("张三");
 print(p);//true

循环方法:

这五个方法同时支持List、Set、Map。

forEach   :增加for循环
 map : 返回一个经过操作的新集合
 where:返回一个满足条件的新集合
 any:集合中只要又一个满足条件的数据,就返回true,否则返回false。
 every:只有当集合中所有的元素都满足条件时,才返回true,否则返回false。

 

1、forEach()

  //*****  List  *****

  List myList = ['张三', '李四', '王五'];

  myList.forEach((value) {
    print("$value");
  });

  //*****  set  *****

  var s = new Set();
  s.addAll([1, 222, 333]);
  s.forEach((value) => print(value));

  //*****  map  *****

  Map person = {"name": "张三", "age": 20};
  person.forEach((key, value) {
    print("$key---$value");
  });

2、map()

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

3、where()

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

  var newList = myList.where((value) {
    return value > 5;
  });
  print(newList.toList());//[7,8,9]

4、any()

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

  var f = myList.any((value) {
    return value > 5;
  });
  print(f);//true

5、every()

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

  var f=myList.every((value){

      return value>5;
  });
  print(f);// false

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值