list的stream流操作和map的遍历方式

List的stream流操作可以使用Java 8的Stream API,它提供了许多方便的方法来对List进行流操作,例如:

  1. 过滤元素

可以使用filter()方法过滤掉不符合条件的元素,例如:

List<String> list = Arrays.asList("apple", "banana", "cherry", "orange");
List<String> filteredList = list.stream().filter(s -> s.startsWith("a")).collect(Collectors.toList());

上述代码中,filter()方法会过滤掉不以字母"a"开头的元素,最终返回一个新的List,其中只包含符合条件的元素。

  1. 映射元素

可以使用map()方法将List中的元素按照指定的规则进行映射,例如:

List<Integer> list = Arrays.asList(1, 2, 3, 4);
List<Integer> mappedList = list.stream().map(i -> i * 2).collect(Collectors.toList());

上述代码中,map()方法将List中的每个元素乘以2,最终返回一个新的List,其中包含映射后的元素。

  1. 排序元素

可以使用sorted()方法对List中的元素进行排序,例如:

List<Integer> list = Arrays.asList(3, 1, 4, 2);
List<Integer> sortedList = list.stream().sorted().collect(Collectors.toList());

上述代码中,sorted()方法会对List中的元素进行升序排序,最终返回一个新的List,其中包含排好序的元素。

  1. 统计元素

可以使用count()方法统计List中的元素个数,例如:

List<String> list = Arrays.asList("apple", "banana", "cherry", "orange");
long count = list.stream().count();

上述代码中,count()方法会统计List中的元素个数,最终返回一个long类型的值。

  1. 匹配元素

可以使用anyMatch()allMatch()noneMatch()方法匹配List中的元素,例如:

List<String> list = Arrays.asList("apple", "banana", "cherry", "orange");
boolean anyMatch = list.stream().anyMatch(s -> s.contains("a"));
boolean allMatch = list.stream().allMatch(s -> s.length() > 3);
boolean noneMatch = list.stream().noneMatch(s -> s.startsWith("z"));

上述代码中,anyMatch()方法会判断List中是否存在以字母"a"开头的元素,返回一个boolean类型的值;allMatch()方法会判断List中的所有元素是否都长度大于3,返回一个boolean类型的值;noneMatch()方法会判断List中是否不存在以字母"z"开头的元素,返回一个boolean类型的值。

总之,Java 8的Stream API提供了非常丰富的方法来对List进行流操作,可以大大简化代码的编写。

在JavaScript中,有三种常用的方式可以遍历Map:

  1. 使用Map的entries()方法配合for...of循环遍历Map的键值对:
let myMap = new Map();
myMap.set(0, 'foo');
myMap.set(1, 'bar');
myMap.set(2, 'baz');

for(let [key, value] of myMap.entries()) { 
  console.log(key, value);
}

输出:

0 "foo"
1 "bar"
2 "baz"

  1. 使用Map的forEach()方法遍历Map的键值对:
let myMap = new Map();
myMap.set(0, 'foo');
myMap.set(1, 'bar');
myMap.set(2, 'baz');

myMap.forEach(function(value, key) {
  console.log(key, value);
})

输出:

0 "foo"
1 "bar"
2 "baz"

  1. 使用Map的keys()和values()方法分别获取Map的keys和values,并用for...of循环遍历:
let myMap = new Map();
myMap.set(0, 'foo');
myMap.set(1, 'bar');
myMap.set(2, 'baz');

for(let key of myMap.keys()) {
  console.log(key);
}

for(let value of myMap.values()) {
  console.log(value);
}

输出:

0
1
2
foo
bar
baz

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值