电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

詳解JAVA Stream流

瀏覽:7日期:2022-08-27 17:39:50

摘要

Stream 是對集合對象功能的增強,它專注于對集合對象進行各種非常便利、高效的聚合操作,或者大批量數據操作。通常我們需要多行代碼才能完成的操作,借助于Stream流式處理可以很簡單的實現。 Stream 不是集合元素,它不是數據結構并不保存數據,它是有關算法和計算的。

創建Steam流

調用Collection.stream()函數創建一個Stream對象 Stream 接口的靜態方法 of 可以獲取數組對應的流

List<String> list = new ArrayList<>();Stream<String> stream1 = list.stream();String[] arr = {'張三', '李四', '王五'};Stream<String> stream2 = Stream.of(arr);

常用方法

void forEach(Consumer<? super T> action):該方法接收一個Consumer接口函數,會將每一個流元素交給該函數進行處理。此方法為終結方法,遍歷后不能再調用Stream流的其他方法。

Consumer<T>函數式接口是一個消費型接口。 Consumer接口中包含抽象方法void accept(T t),意為消費一個指定泛型的數據。

import java.util.stream.Stream;public class Start { public static void main(String[] args) { String[] arr = {'張三', '李四', '王五'}; Stream<String> stream2 = Stream.of(arr); stream2.forEach((name)->{ System.out.println(name); }); }} Stream<T> filter(Predicate<? super T> predicate) :將一個流轉換成另一個子集流,此方法為終結方法。

Predicate<T>函數式接口,抽象方法boolean test(T t)用來對指定數據進行判斷是否滿足條件。

import java.util.stream.Stream;public class Start { public static void main(String[] args) { //獲取Stream流 String[] arr = {'張三', '李四', '王五'}; Stream<String> stream2 = Stream.of(arr); //filter方法 Stream<String> fil = stream2.filter((name) -> { return name.startsWith('張'); }); fil.forEach(name->System.out.println(name)); }} Stream<R> map(Function<? super T, ? extends R> mapper):將流中的元素映射到另一個流中。

Function<T>函數式接口,可以將當前流中的T類型數據轉換為另一種R類型的流。

import java.util.stream.Stream;public class Start { public static void main(String[] args) { //獲取Stream流 String[] arr = {'1', '2', '3'}; Stream<String> stream2 = Stream.of(arr); //map方法 Stream<Integer> map = stream2.map((string) -> { return Integer.parseInt(string); }); map.forEach(integer->System.out.println(integer)); }} long count() :統計流中元素的個數,此方法為終結方法。 Stream<T> limit(long n):用于截取流中的元素,只取用前n個元素,此方法是延遲方法,可以繼續調用Stream流中的其他方法。

stream1.limit(2).forEach(name -> System.out.println(name));

Stream<T> skip(long n):用于跳過流中的元素,跳過n個元素,獲取剩下的元素組成新流,此方法是延遲方法。

stream1.skip(1).forEach(name -> System.out.println(name));

static <T> Stream<T> concat(Stream<? extends T> a, Stream<? extends T> b):Stream的靜態方法,將兩個流合并為一個流。

Stream.concat(stream1, stream2).forEach(string -> System.out.println(string));

以上就是詳解JAVA Stream流的詳細內容,更多關于JAVA Stream流的資料請關注好吧啦網其它相關文章!

標簽: Java
相關文章:
主站蜘蛛池模板: 台湾Apex减速机_APEX行星减速机_台湾精锐减速机厂家代理【现货】-杭州摩森机电 | 国际学校_国际学校哪个好_国际课程学校-国际学校择校网 | 厂房出售_厂房仓库出租_写字楼招租_土地出售-中苣招商网-中苣招商网 | 超声波焊接机,振动摩擦焊接机,激光塑料焊接机,超声波焊接模具工装-德召尼克(常州)焊接科技有限公司 | 上海办公室设计_办公楼,写字楼装修_办公室装修公司-匠御设计 | 湖南长沙商标注册专利申请,长沙公司注册代理记账首选美创! | 周易算网-八字测算网 - 周易算网-宝宝起名取名测名字周易八字测算网 | 数控专用机床,专用机床,自动线,组合机床,动力头,自动化加工生产线,江苏海鑫机床有限公司 | 湖南档案密集架,智能,物证,移动,价格-湖南档案密集架厂家 | 艺术涂料|木纹漆施工|稻草漆厂家|马来漆|石桦奴|水泥漆|选加河南天工涂料 | 河南凯邦机械制造有限公司 | 万博士范文网-您身边的范文参考网站Vanbs.com | 上海乾拓贸易有限公司-日本SMC电磁阀_德国FESTO电磁阀_德国FESTO气缸 | 定制液氮罐_小型气相液氮罐_自增压液氮罐_班德液氮罐厂家 | 宿松新闻网 宿松网|宿松在线|宿松门户|安徽宿松(直管县)|宿松新闻综合网站|宿松官方新闻发布 | 济南冷库安装-山东冷库设计|建造|冷库维修-山东齐雪制冷设备有限公司 | 智能电表|预付费ic卡水电表|nb智能无线远传载波电表-福建百悦信息科技有限公司 | 20年条刷老厂-条刷-抛光-工业毛刷辊-惠众毛刷 | 福建省教师资格证-福建教师资格证考试网| 焊接烟尘净化器__焊烟除尘设备_打磨工作台_喷漆废气治理设备 -催化燃烧设备 _天津路博蓝天环保科技有限公司 | 龙门加工中心-数控龙门加工中心厂家价格-山东海特数控机床有限公司_龙门加工中心-数控龙门加工中心厂家价格-山东海特数控机床有限公司 | 细胞染色-流式双标-试剂盒免费代做-上海研谨生物科技有限公司 | 网站建设-网站制作-网站设计-网站开发定制公司-网站SEO优化推广-咏熠软件 | 青岛侦探_青岛侦探事务所_青岛劝退小三_青岛婚外情取证-青岛王军侦探事务所 | 挤出机_橡胶挤出机_塑料挤出机_胶片冷却机-河北伟源橡塑设备有限公司 | MOOG伺服阀维修,ATOS比例流量阀维修,伺服阀维修-上海纽顿液压设备有限公司 | 铝箔袋,铝箔袋厂家,东莞铝箔袋,防静电铝箔袋,防静电屏蔽袋,防静电真空袋,真空袋-东莞铭晋让您的产品与众不同 | 合肥通道闸-安徽车牌识别-人脸识别系统厂家-安徽熵控智能技术有限公司 | 网架支座@球铰支座@钢结构支座@成品支座厂家@万向滑动支座_桥兴工程橡胶有限公司 | 牛皮纸|牛卡纸|进口牛皮纸|食品级牛皮纸|牛皮纸厂家-伽立实业 | 小区健身器材_户外健身器材_室外健身器材_公园健身路径-沧州浩然体育器材有限公司 | 理化生实验室设备,吊装实验室设备,顶装实验室设备,实验室成套设备厂家,校园功能室设备,智慧书法教室方案 - 东莞市惠森教学设备有限公司 | 升降机-高空作业车租赁-蜘蛛车-曲臂式伸缩臂剪叉式液压升降平台-脚手架-【普雷斯特公司厂家】 | 北京网络营销推广_百度SEO搜索引擎优化公司_网站排名优化_谷歌SEO - 北京卓立海创信息技术有限公司 | 南京兰江泵业有限公司-水解酸化池潜水搅拌机-絮凝反应池搅拌机-好氧区潜水推进器 | 全自动端子机|刺破式端子压接机|全自动双头沾锡机|全自动插胶壳端子机-东莞市傅氏兄弟机械设备有限公司 | 上海平衡机-单面卧式动平衡机-万向节动平衡机-圈带动平衡机厂家-上海申岢动平衡机制造有限公司 | 永嘉县奥阳陶瓷阀门有限公司 | 深圳市超时尚职业培训学校,培训:月嫂,育婴,养老,家政;化妆,美容,美发,美甲. | 云南成人高考_云南成考网| 石油/泥浆/不锈钢防腐/砂泵/抽砂泵/砂砾泵/吸砂泵/压滤机泵 - 专业石油环保专用泵厂家 |