美文网首页
List,Set,Map的使用

List,Set,Map的使用

作者: 沐攸攸 | 来源:发表于2021-04-05 15:20 被阅读0次

    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
    
    import 'package:flutter/material.dart';
    
    void main() {
      var myList = ['A','B','C','A','C'];
      print(myList.length);  //List的长度  3
    
      var newList = myList.reversed;
      print(newList); //list翻转 --(C, B, A)
      print(newList.toList()); //翻转后转化为List --[C, B, A]
    
      var newList2 = myList.reversed.toList();
      print(newList2);   //[C, B, A]
    
      print(newList2.isEmpty);  //false
      print(newList2.isNotEmpty); //true
    
      newList2.add('涨涨');  //添加一个数据,并且为String类型的
      print(newList2);  //[C, B, A, 涨涨]
    
      newList2.addAll(['123','apple','pink']);  //添加多条数据
      print(newList2); //[C, B, A, 涨涨, 123, apple, pink]
    
      var i = newList2.indexOf('apple');  //传入具体的值,返回对应的索引
      print(i);  //5
    
      var j = newList2.indexOf('444');  //传入具体的值,返回对应的索引,如果没有,返回-1
      print(j);  //-1
    
      newList2.remove('涨涨');  //list中删除  传入一个具体的值
      print(newList2);  //[C, B, A, 123, apple, pink]
    
      newList2.removeAt(4); //list中删除  传入list的索引
      print(newList2);  //[C, B, A, 123, pink]
    
      var remove = newList2.remove('123');  //传入的具体值,有的话为true,没有的话为false
      print(remove);  //true
      var removeAt = newList2.removeAt(2);  //传入索引,返回对应的值
      print(removeAt);  //A
    
      print(newList2);  //[C, B, pink]
    
      newList2.fillRange(1, 2,'AAA'); //修改一个数据
      print(newList2); //[C, AAA, pink]
    
      newList2.insert(2, "haha");  //在指定位置插入一个元素
      print(newList2); //[C, AAA, haha, pink]
    
      newList2.insertAll(2, ['张三','李四']); //在指定的位置插入多个元素
      print(newList2);  //[C, AAA, 张三, 李四, haha, pink]
    
      var strs = newList2.join('-'); //List转化为字符串
      print(strs);  //C-AAA-张三-李四-haha-pink
      var s = strs.split('-');  //将分割的字符串转化为list
      print(s);  //[C, AAA, 张三, 李四, haha, pink]
    
    
      //set
      var setList = new Set();
      setList.addAll(myList); //将myList = ['A','B','C','A','C']装入set中去重
      print(setList); //{A, B, C}
      var newList3 = setList.toList();
      print(newList3); //[A, B, C]
    
      //map
      var map1 = {
        "name":'张三',
        "gender":'男',
        "age":'18'
      };
      print(map1); //{name: 张三, gender: 男, age: 18}
    
      print(map1.keys); // (name, gender, age)
    
      var mapKeys = map1.keys.toList();
      print(mapKeys); //[name, gender, age]
    
      print(map1.values); //(张三, 男, 18)
    
      var mapValues = map1.values.toList();
      print(mapValues); //[张三, 男, 18]
    
    
      //for循环,List set map通用,以list为例
      for(var i=0;i<newList2.length;i++) {
        print(newList2[i]);
      }
    
      //for in
      for(var s in newList2) {
        print(s);
      }
    
      //foreach
      newList.forEach((value){
        print(value);
      });
    
      map1.values.forEach((v) {  //map1的value值遍历
        print(v);
      });
    
      map1.forEach((k,v) {  //遍历map1
        print("$k--->$v");
      });
    
    
      //where条件判断
      var list1 = [1,2,3,4,5,7,9];
      var newList1 = list1.where((v) {
        return v > 4;
      }).toList();
      print(newList1); //[5, 7, 9]
    
      //any条件判断,只要有一个满足条件就返回true
      var bool1 = list1.any((v) {
        return v > 5;
      });
      print(bool1);  //如果有一个满足条件,返回true,否则返回false
    
      //every,每一个都满足条件就返回true,否则返回false
      var bool2 = list1.every((v) {
        return v > 5;
      });
      print(bool2); //false
    
      //map修改内容
      var list3 = list1.map((f) {
        return f + 2;
      });
      print(list3); //(3, 4, 5, 6, 7, 9, 11)
      print(list3.toList()); // [3, 4, 5, 6, 7, 9, 11]
    }
    

    相关文章

      网友评论

          本文标题:List,Set,Map的使用

          本文链接:https://www.haomeiwen.com/subject/grydkltx.html