概述
collections stream lambda表达式的常见用法
一 . collections ( 对集合进行操作的工具类 )(arrays是对数组进行操作的工具类 )
常见用法
static <T> boolean addAll(Collection<? super T> c, T... elements)
// 将所有指定的元素添加到指定的集合。
ArrayList<String> list = new ArrayList<>();
Collections.addAll(list, "qq");
T - 要添加和收集的元素的类
参数(存入的元素必须是T 或者 T 的子类)
c - 要插入 elements的集合
elements - 要插入到 c的元素
结果
true如果集合由于调用而更改
void copy(List<? super T> dest, List<? extends T> src)
//将所有元素从一个列表复制到另一个列表中。
void copy(List<? super T> dest, List<? extends T> src)
//将所有元素从一个列表复制到另一个列表中。 (第一个要加入大于等于T范围的 元素的集合 第二个要加入一个范围小于等于 T 元素的集合 然后将后面的集合元素拷贝到前面的集合 )
void shuffle(List<?> list)
//使用默认的随机源随机排列指定的列表。(打乱集合中元素的排序)
void reverse(List<?> list)
//反转指定列表中元素的顺序。(集合反转对list 集合中的元素进行倒序)
void sort(List<T> list)
//根据其元素的natural ordering对指定的列表进行排序。 (需要list内部元素实现了comparable接口 进行自然的排序)
void sort(List<T> list, Comparator<? super T> c)
//根据指定的比较器引起的顺序对指定的列表进行排序。(对list的元素进行特定的规则排序)
void swap(List<?> list, int i, int j)
//交换指定列表中指定位置的元素。
二. stream 的使用和lamdba的使用 (1.8新特性)
lambda表达式使用
lambda表达式的组成
第1部分: (参数)
第2部分: ->
第3部分: 方法体,可以是表达式也可以是代码块
示例
// 实际需要这样实现
newlist.stream()
.filter(new Predicate<String>() {
public boolean test(String t) {
return t.endsWith("teem");
}
})
// 使用lambda 简化
newlist.filter(n->n.endsWith("teem"))
// newlist.filter((参数) -> 方法体)
在哪里以及如何使用Lambda
接口中只有1个抽象方法,才能使用lambda表达式
stream的使用
翻阅stream API 可知 stream 主要是对集合数组流进行处理的类 主要是可以对其进行筛选处理等等(链式编程的实现)
default Stream<E> stream()
//返回以此集合作为源的顺序 Stream
collection(单列集合的父接口)(所以下面的实现类都具有这个方法)
List<String> names = new ArrayList<String>();
names.add("wsdeem");
names.add("rosteem");
names.add("collection");
names.add("jackson");
names.add("beant");
names.add("jateem");
names.add("backkteem");
List<String> newlist = new ArrayList<>();
newlist = names.stream()
//第一步 获取流对象(将数组集合转化为流对象)
//第二步 对流进行中间操作
.filter(n->n.endsWith("teem"))
// 对元素的集合进行过滤 只取符合条件的元素
.limit(4)
// 只取前4位的元素
.sorted
// 对集合进行排序(需要有比较器)
.distinct()
// 集合去重
.skip(1)
// 不取第一个元素( 跳过第一个元素)
//第三步 将流重新转换为集合或者数组
collect(Collectors.toList());
// 将collectio流 再进行转换操作
//流一旦使用无法回转 只能通过重新获取
由上面可见lambda 和 stream 目的都是为了简化代码 减少代码量
最后
以上就是大气短靴为你收集整理的collections stream lambda表达式的常见用法的全部内容,希望文章能够帮你解决collections stream lambda表达式的常见用法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复