Dart数据类型--List (数组)及其相关操作

2021-08-20  本文已影响0人  奋斗的小马达

一、数组初始化

1、非固定长度的list

var list1 = List();
print(list1.length);//输出0

2、固定长度List

var list2 = List(2);
print(list2.length);//输出2

3、元素类型固定:

var list3 = List<String>();
list3.add("字符串");
//list3.add(10);//报错,10不是String类型

4、直接赋值

var list4 = [123,2312];
print(list4.length);

var list5 = [true,"嘎嘎嘎",1];
list5.add(5.20);//可以添加

二、List.里面常用的属性和方法:

1、常用属性:

length:长度

List list1 = ['张三','李四','王二','麻子'];
// length:长度
print(list1.length);

reversed:翻转

List list1 = ['张三','李四','王二','麻子'];
// reversed:翻转
print(list1.reversed);

isEmpty:是否为空

List list1 = ['张三','李四','王二','麻子'];
// isEmpty:是否为空
print(list1.isEmpty);

isNotEmpty:是否不为空

List list1 = ['张三','李四','王二','麻子'];
// isNotEmpty:是否不为空
print(list1.isNotEmpty);

first:获取数组第一个元素

List list1 = ['张三','李四','王二','麻子'];
//first:获取数组第一个元素
print(list1.first);

last:获取数组最后一个元素

List list1 = ['张三','李四','王二','麻子'];
//last:获取数组最后一个元素
print(list1.last);

[index] 获取List中某个位置上的元素(index为位置索引)

List list1 = ['张三','李四','王二','麻子'];
//[index] 获取List中某个位置上的元素(index为位置索引)
print(list1[2]);
2、常用方法:

add:增加

List list2 = ['第一','第二','第三','第四'];
// add:增加
list2.add('第五');
print(list2);

addAll:拼接数组

List list2 = ['第一','第二','第三','第四'];
// addAll:拼接数组
list2.addAll(['第六','第七']);
print(list2);

indexOf:查找传入具体值

List list2 = ['第一','第二','第三','第四'];
// indexOf:查找传入具体值  如果存在则返回该元素的下标,如果不存在则返回-1
print(list2.indexOf('第五'));

remove:删除传入具体值

List list2 = ['第一','第二','第三','第四'];
// remove 删除传入具体值 如果存在则直接移除返回  移除成功 返回true  移除失败返回 false
// list2.remove('第六');
// list2.remove('第jiu');
print(list2.remove('第六'));
print(list2.remove('第jiu'));
print(list2);

removeAt :删除传入索引值

List list2 = ['第一','第二','第三','第四'];
// removeAt :删除传入索引值 如果传入的index 大于数组长度就会崩溃 
print(list2.removeAt(2));
// print(list2.removeAt(18));
print(list2);

removeLast:删除数组中最后一个元素

List list2 = ['第一','第二','第三','第四'];
// fillRange:修改
/**
 * list2.fillRange(start, end,'xxx') 
 * start:开始的下标
 * end :结束的下标
 * xxx:你所修改后的值 可以为任意类型的(list、map、String、number)
 */
list2.fillRange(0, 1,'我来修改下标为0的值');
print(list2);

insert ( index, value ):指定位置插入

List list2 = ['第一','第二','第三','第四'];
// insert ( index, value ):指定位置插入 一个数据
list2.insert(3, "44444444");
print(list2);

insertAll (index, list):指定位置插入List

List list2 = ['第一','第二','第三','第四'];
// insertAll (index, list):指定位置插入List 也就是插入多个数据
list2.insertAll(3, ["111","222",'333']);
print(list2);

join():List转换成字符串

List list2 = ['第一','第二','第三','第四'];
// join():List转换成字符串
print(list2.join(','));

split() :字符串转化成List

List list2 = ['第一','第二','第三','第四'];
// split() :字符串转化成List
var listStr = '1,2,3,4,5,6,7';
List list3 = listStr.split(',');
print(list3);

forEach 遍历数组元素

List list2 = ['第一','第二','第三','第四'];
// forEach :遍历数组元素
list3.forEach((element) {
  print(element);
});

我也不总结了 看了一篇博客 写的很好

点击跳转

上一篇 下一篇

猜你喜欢

热点阅读