Dart 学习笔记(二):部分数据类型的常用属性和方法

2019-12-15  本文已影响0人  love断鸿

List

List 就是数组, 任何语言里数组的操作无外乎增,删,改,查

List myList = ['小明', '小红', '小刚', '小娜'];

// 获取 指定数据
print(myList[1]);

// 翻转(倒叙) 得到的是集合(Set)
print(myList.reversed.toList);//返回一个List的倒序排列的Iterable  不改变原List
注意: reversed 之后得到的是Iterable类型 toList之后才会得到数组

// 增
myList.add('小洋'); // 增加一个
myList.addAll(['小李', '小赵']);// 增加多个

// 查找
print(myList.indexOf('小红')); // 找到 返回的是1 找不到返回的是-1

// 删除
myList.removeAt(0); // 根据角标删除
myList.remove('小刚'); // 根据元素删除

// 改  fillRange(int start, int end, [E fillValue]) 从第start(包括)位开始修改 一直修改到第end(不包括)位
myList.fillRange(1, 2, '小王');
myList.fillRange(1, 3, '小孙');

// 插入
myList.insert( 1 , 'aaa');
myList.insertAll(3, ['vvv', 'aaadd', 3]);

// list -> String
var str = myList.join('-');// 转换成以-分割的字符串
if (str is String) {
  print(str); //小明-小红-小刚-小娜
}

// String -> List 小明-小红-小刚-小娜
var list1 = str.split('-');
if (list1 is List) {
  print(list1);//['小明', '小红', '小刚', '小娜'];
}

Set(与数组相比 元素不能重复)

var s = new Set();
s.add('小明');

// Set -> List
print(s.toList());

// 用法 可用于数组去重
List my1List = ['小明', '小红', '小刚', '小明'];
print(my1List.toSet().toList());

Maps

var person = {
  'name' :'张三',
  'age' : 20
};
print(person);

// 获取所有key 或者 value
print(person.keys.toList());
print(person.values.toList());

// 是否为空 活是否不为空
print(person.isEmpty);
print(person.isNotEmpty);

// 增加属性
person.addAll({
  'works' : ['外卖', '程序员'],
  'height' : 175
});

print(person);

// 删除
person.remove('height');
print(person);

// 查
print(person.containsValue('张三'));
print(person.containsKey('works'));

一些高级函数 类似swift当中的高级函数

// 遍历数组
list1.forEach((item){
  print(item);
});

// 更改 (统一规则) swift当中也有
var listNum = [1,2,3];
var newlist = listNum.map((item){
  return item * 2;
});
print(newlist.toList());

// where (筛选符合条件的元素)
var newWhereList = listNum.where((item){
  return item > 2;
});
print(newWhereList.toList());

// any (只要有一个元素满足条件 就会返回true)
var f = listNum.any((item){
  return item > 2;
});
print(f);

// every (全部满足条件 才会返回true)
var b = listNum.every((item){
  return item > 0;
});
print(b);

// 遍历set
var newSet = new Set();
newSet.addAll([1111,2223,44,5555]);
newSet.forEach((item) {
  print(item);
});

// 遍历Map
person.forEach((key, value){
  print('$key --- $value');
});

上一篇 下一篇

猜你喜欢

热点阅读