Flutter List数组避免插入重复数据的实现
list
具有一定长度存在索引的对象集合(长度为0不存在索引,长度>0存在索引)
常见列表
1、定长列表
默认值null
例如:list<int> fixedlengthlist = new list(2)、list<int> fixedlengthlist = new list(8)
i/flutter ( 9251): 索引为0的值null
i/flutter ( 9251): 索引为1的值null
固定长度不可修改
unsupported operation: cannot change the length of a fixed-length list
大概意思:无法更改固定长度数组的长度
unsupported operation: cannot add to a fixed-length list
大概以上: 不能添加数据到固定长度数组
unsupported operation: cannot add to a fixed-length list
大概意思: 不能添加数据到固定长度数组
unsupported operation: cannot remove from a fixed-length list
大概意思:不能删除固定长度数组数据
unsupported operation: cannot clear a fixed-length list
大概意思:不能清理固定长度数组数据
可排序、替换、截取
2、可增长列表
可改变数组长度、 可执行添加、删除、可排序、可替换、可截取
.可增长列表[]
保留了内部缓冲区
.缓冲区可增长
.添加数据操作在固定时间内执行 (设置固定长度会花费与新长度成比例的时间,修改容量,添加操作将需要立即增加缓冲区容量)
.列表是可以迭代的
.在执行列表操作时,例如在调用foreach或sort期间,通常不允许修改列表的长度(添加或删除元素)
.通过直接迭代列表或通过迭代由列表支持的iterable更改列表的长度,可以中断迭代
3、contains 过滤重复 添加(int、double、bool、string)类型数据
1、int类型数组中插入重复数据
i/flutter (28028): 数组长度1
i/flutter (28028): 数组长度1
i/flutter (28028): 数组长度1
2、double类型数组中插入重复数据
i/flutter (28028): 数组长度1
i/flutter (28028): 数组长度1
i/flutter (28028): 数组长度1
i/flutter (28028): 数组长度1
3、string类型数组中插入重复数据
i/flutter (28028): 数组长度1
i/flutter (28028): 数组长度1
i/flutter (28028): 数组长度1
i/flutter (28028): 数组长度1
4、boolean类型数组插入重复数据
i/flutter (28028): 数组长度1
i/flutter (28028): 数组长度1
i/flutter (28028): 数组长度1
i/flutter (28028): 数组长度1
i/flutter (28028): 数组长度1
4、list对象去重
1、要添加的对象a的每个值和数组里面存在的每个对象的值做比较 (效率低、适合少量数据去重)
2、list配合set去除重复对象
i/flutter (10386): 数组长度1
i/flutter (10386): 数组长度1
i/flutter (10386): 数组长度1
i/flutter (10386): 数组长度1
i/flutter (10386): 数组长度1
i/flutter (10386): 数组长度1
参考:
list :https://api.dart.dev/stable/2.9.2/dart-core/list-class.html
set:https://api.dart.dev/stable/2.9.2/dart-core/set-class.html
到此这篇关于flutter list数组避免插入重复数据的实现的文章就介绍到这了,更多相关flutter list 重复插入内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!