Flutter系列之 Dart 集合 List Map Set

Dart集合概述

Dart 集合主要有List、Map、Set。集合相关的操作方法主要在drat:core Library中。本文主要描述这三个集合的基本用法。

一、List

1.1 List创建

List的创建是以[ ]包裹,用“,”号分割每个元素。创建时支持空List, 根据元素推断类型和显示的指定List类型,同时支持调用方法设置长度和默认值。

var emptyList=[];
var intList=[1,2,3];
var strList=<String>["A","B"];
var filledList=List<int>.filled(5,1)//固定长度为5,每个元素默认值是1

List的创建支持基于另一个List初始化,他们分别是 扩展操作符(…)和空感扩展操作符(…?)。

var oneList=[1,2,3,4];
var twoList[1,...oneList];//[1,1,2,3,4]
//如果oneList是null
var oneList=null;
var twoList=[1,...?oneList];//[1]

1.2 List赋值

List的下标是从0开始,最后一个是length-1,赋值元素可以直接使用下标 ,也可以在创建List时把另一List添加到新创建的List中,同时也支持setAll方法。

var intList=[1,2,3];
intList[0]=3;//[3,2,3]
intList.setAll(1,[4,4,4]);//[3,4,4,4]

1.3 List添加

List 添加元素支持add和addAll,添加单个和多个元素。

var strList=["a","b","c"];
strList.add("d");//["a","b","c","d"]
strList.addAll({"e","f"});//["a","b","c","d","e","f"]

1.4 List移除

List 移除元素使用remove,removeLast,removeAt,removeRange,removeWhere。

var intList=[1,2,3,4];
intList.remove(1);//[2,3,4]
intList.removeAt(0);//[3,4]
intList.removeLast();//[3]
intList.clear();//[] 清除全部

var strList=["a","b","c","d","e","f"]
strList.removeRange(1,3);//["a","e","f"]
strList.removeWhere((item)=> item=="e");//["a","f"]

更多的关于list的相关方法 dart list

Map

2.1 Map创建

Map的创建主要以{}包裹,同时key:value,每个元素用“,”分隔。

var map1={"key1":"value1","key2":"value2"};
var map2=Map<String,String>();
var map3=Map.from(map1);

Map创建支持基于另一个Map初始化,他们分别是 扩展操作符(…)和空感扩展操作符(…?)。

var map={1:"a",2:"b",3:"c"};
var map1={0:"aaa",...map};
var map2={0,"bbb",...?map};

2.2 Map赋值

var map={"1":"a","2":"b","3","c"};
map["1"]="d";//{"1":"d","2":"b","3","c"};
map["3"]="e";//{"1":"d","2":"b","3","e"};

2.3 Map添加

var map=Map<String,String>();
map["one"]="a";
map["two"]="b";

var map1={"three":"c"};
map1.addAll(map);

2.4 Map移除

var map={"1":"a","2":"b","3":"c"}
map.remove("3");//key 
map.removeWhere((key,value)=>key=="2");

更多关于map的相关方法 dart map

Set

3.1 Set创建

Set 是一组特定元素的无序集合,创建是由{ }包裹,“,”逗号分隔。

var set={"a","b","c","d"};
var set1={};//空的set,使用时指定类型
var set2=<String>{};//空的set,创建时指定类型

Set 也支持 扩展操作符(…)和空感扩展操作符(…?)。

var set={"1","2","3"};
var set1={"0",...set};
var set2={"3",...?set};

3.2 Set添加

var set={"1","2","3"};
set.add("4");
var set1={"5","6"};
set.addAll(set1);

3.3 Set删除

var set={"1","2","3"};
set.remove("3");//{"1","2"}
var set1={"1","2"};
set.removeAll(set1);

更多关于Set的相关方法 dart set

你可能感兴趣的:(Flutter,flutter,list,dart,map,set)