java中List的常用功能

1 篇文章 0 订阅


本文记录一下List的常用功能和方法,用到了一些lambda表达式,使代码看起来更简洁。

我们先创建一个List对象names如下:

List<String> names = Arrays.asList("java", "python", "c++", "php", "c#");
遍历
names.forEach(System.out::println);

结果:
java
python
c++
php
c#

排序
Collections.sort(names, (a, b) -> a.compareTo(b));
names.forEach(System.out::println);

结果:
c#
c++
java
php
python

过滤(单个条件)
Predicate<String> p1 = (n) -> n.startsWith("c");
Predicate<String> p2 = (n) -> n.length() == 3;
names.stream().filter(p1).forEach("c开头的:" + System.out::println);
names.stream().filter(p2).forEach("长度为3的:" + System.out::println);

结果:
c开头的:c#
c开头的:c++
长度为3的:c++
长度为3的:php

过滤(多个条件)

这里用上一条的结果p1、p2做运算

names.stream().filter(p1.and(p2)).forEach("与:\n" + System.out::println);
names.stream().filter(p1.or(p2)).forEach("或:\n" + System.out::println);

结果:
与:
c++
或:
c#
c++
php

map()统一对元素进行操作
names.stream().map(n -> n + " is good!").forEach(System.out::println);

结果:
c# is good!
c++ is good!
java is good!
php is good!
python is good!

连接
System.out.println(names.stream().map(n -> n.toUpperCase()).collect(Collectors.joining(",")));

结果:
C#,C++,JAVA,PHP,PYTHON

去重
List<String> names1 = Arrays.asList("java", "python", "c++", "php", "c#", "c++");
names1 = names1.stream().filter(n -> n.startsWith("c")).distinct().collect(Collectors.toList());
System.out.println(names1);

结果:
[c++, c#]

计算
List<Double> doubleList = Arrays.asList(2.0,6.0,4.0,7.0,1.0,9.0);
DoubleSummaryStatistics res = doubleList.stream().mapToDouble(n -> n).summaryStatistics();
System.out.println("ave:"+res.getAverage()+"\tmax:"+res.getMax()+"\tsum:"+res.getSum());

结果:
ave:4.833333333333333 max:9.0 sum:29.0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

树上灵溪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值