我是靠谱客的博主 大气短靴,最近开发中收集的这篇文章主要介绍collections stream lambda表达式的常见用法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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表达式的常见用法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(57)

评论列表共有 0 条评论

立即
投稿
返回
顶部