1、对列表/数组中的每个元素都乘以2//  www.1b23.com Range是半开区间

int [] ia = range(1, 10).map(i -> i * 2).toArray();

List result = range(1, 10).map(i -> i * 2).boxed().collect(toList());

2、计算集合/数组中的数字之和range(1, 1000).sum();

range(1, 1000).reduce(0, Integer::sum);

Stream.iterate(0, i -> i + 1).limit(1000).reduce(0, Integer::sum);

IntStream.iterate(0, i -> i + 1).limit(1000).reduce(0, Integer::sum);

3、验证字符串是否包含集合中的某一字符串final List keywords = Arrays.asList("brown", "fox", "dog", "pangram");

final String tweet = "The quick brown fox jumps over a lazy dog. #pangram http://www.rinkworks.com/words/pangrams.shtml";

// www.1b23.com

keywords.stream().anyMatch(tweet::contains);

keywords.stream().reduce(false, (b, keyword) -> b || tweet.contains(keyword), (l, r) -> l || r);

4、读取文件内容

原作者认为try with resources也是一种单行代码编程。try (BufferedReader reader = new BufferedReader(new FileReader("data.txt"))) {

String fileText = reader.lines().reduce("", String::concat);

}

try (BufferedReader reader = new BufferedReader(new FileReader("data.txt"))) {

List fileLines = reader.lines().collect(toCollection(LinkedList::new));

}

try (Stream lines = Files.lines(new File("data.txt").toPath(), Charset.defaultCharset())) {

List fileLines = lines.collect(toCollection(LinkedList::new));

}

5、输出歌曲《Happy Birthday to You!》 - 根据集合中不同的元素输出不同的字符串range(1, 5).boxed().map(i -> { out.print("Happy Birthday "); if (i == 3) return "dear NAME"; else return "to You"; }).forEach(out::println);

6、过滤并分组集合中的数字Map> result = Stream.of(49, 58, 76, 82, 88, 90).collect(groupingBy(forPredicate(i -> i > 60, "passed", "failed")));

7、获取并解析xml协议的Web ServiceFeedType feed = JAXB.unmarshal(new URL("http://search.twitter.com/search.atom?&q=java8"), FeedType.class);

JAXB.marshal(feed, System.out);

8、获得集合中最小/最大的数字int min = Stream.of(14, 35, -7, 46, 98).reduce(Integer::min).get();

min = Stream.of(14, 35, -7, 46, 98).min(Integer::compare).get();

min = Stream.of(14, 35, -7, 46, 98).mapToInt(Integer::new).min();

int max = Stream.of(14, 35, -7, 46, 98).reduce(Integer::max).get();

max = Stream.of(14, 35, -7, 46, 98).max(Integer::compare).get();

max = Stream.of(14, 35, -7, 46, 98).mapToInt(Integer::new).max();

9、并行处理long result = dataList.parallelStream().mapToInt(line -> processItem(line)).sum();

10、集合上的各种查询(LINQ in Java)List albums = Arrays.asList(unapologetic, tailgates, red);

//筛选出至少有一个track评级4分以上的专辑,并按照名称排序后打印出来。 www.1b23.com  albums.stream()

.filter(a -> a.tracks.stream().anyMatch(t -> (t.rating >= 4)))

.sorted(comparing(album -> album.name))

.forEach(album -> System.out.println(album.name));

//合并所有专辑的track  List allTracks = albums.stream()

.flatMap(album -> album.tracks.stream())

.collect(toList());

//根据track的评分对所有track分组  Map> tracksByRating = allTracks.stream()

.collect(groupingBy(Track::getRating));

java单行字符_十个便捷的单行代码编程技巧相关推荐

  1. Java开发人员可以从Spring框架中学到编程技巧

    毫无疑问,Spring Framework是最受欢迎的Java框架之一,通过提供依赖注入和控制反转等特性,可以轻松创建真实的企业级Java应用程序.但是,Spring不仅是一个DI和IOC框架.通过提 ...

  2. idea java 非法字符_解决IDEA显示非法字符 \ufeff 的问题

    一.问题 在txt文本中复制代码进入IDEA报错 Error:(1, 1) java: 非法字符: '\ufeff' Error:(1, 10) java: 需要class, interface或en ...

  3. 10 个牛逼的单行代码编程技巧,你会用吗?

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 「程序猿DD」星球活动第一期进行中!点击了解详情! 翻译 ...

  4. 超酷炫技:10 个牛逼的单行代码编程技巧

    翻译 | 飒然Hang 来源 | https://www.rowkey.me/blog/2017/09/09/java-oneliners/ 原文 | https://github.com/aruld ...

  5. java 开发技巧_优秀的Java程序员必须掌握的代码编程技巧

    Java作为一门编程语言,在各类编程语言中作为弄潮儿始终排在前三的位置,这充分肯定了java语言的魅力,在实际项目应用中,我们已经无法脱离java,它的高性能,稳定性,扩展性已经深入到每一个java编 ...

  6. python3实用编程技巧_适合Python初学者的一些编程技巧

    这篇文章主要介绍了给Python初学者的一些编程技巧,皆是基于基础的一些编程习惯建议,需要的朋友可以参考下 交换变量 x = 6 y = 5 x, y = y, x print x >>& ...

  7. java8函数式编程 视频_快速掌握Java8 Stream函数式编程技巧

    函数式编程优势"函数第一位",即函数可以出现在任何地方. 可以把函数作为参数传递给另一个函数,还可以将函数作为返回值. 让代码的逻辑更清晰更优雅. 减少了可变量(Immutable ...

  8. fanuc机器人编程手册_是谁需要G代码编程机器人?

    用G代码编程机器人是一个5,6年前就碰到过的一个概念.当时就有点困惑,不过没有细究为何提出这样的想法.这个问题一直搁置很久也没有想起来主动去了解,去和同行去交流.今天在翻阅西门子自动化产品手册时,看到 ...

  9. java 输入 字符_在java中如何输入一个char型字符。

    展开全部 可以创建Scanner类来从键盘输入一个字符,用String类型来接收,再使用String的charAt功能,具体步骤如下62616964757a686964616fe59b9ee7ad94 ...

最新文章

  1. 再见了,公司的“烂系统”
  2. 内网渗透测试:NTLM Relay攻击分析
  3. WindowsPhone7真机部署和调试程序
  4. 利用Python自动生成暴力破解的字典
  5. PyQt 5布局管理
  6. linux win32disk,windows使用Win32DiskImager安装树莓派系统
  7. 阿里云对象存储OSS之通过URL形式进行图片处理
  8. 什么是循环神经网络——学习笔记
  9. 还在家隔离呢?没事写写这些程序吧!
  10. Mysql存储引擎之TokuDB以及它的数据结构Fractal tree(分形树)
  11. 【2020CCPC秦皇岛:C】Cameraman(计算几何+思维+枚举)
  12. 验证注册页面信息(JavaScript)
  13. # 你也可以在你的微信 or QQ头像添加小国旗了,超简单!
  14. Vue将HTML内容用打印机打印出来
  15. 手机测试设计测试用例——(1)
  16. PCB设计—AD20和立创EDA设计(1)创建项目
  17. SpringClout 入门笔记
  18. 基于树莓派的遥控小车
  19. linux下rsync命令,Linux下rsync命令用法
  20. Java中violate关键字详解

热门文章

  1. CSS 七层叠层顺序(stacking level)
  2. Java黑皮书课后题第9章:*9.10(代数:二次方程式)为二次方程式设计一个名为QuadraticEquation的类
  3. python中迭代器和生成器的区别
  4. C# 去重处理字符大小写
  5. Verilog MIPS32 CPU(一)-- PC寄存器
  6. 交换机的三种转发模式
  7. JSPX不同按钮调用同一个页面
  8. tcpdump使用实例——基于ip统计流量
  9. 操作系统实验报告9:进程间通信—管道和 socket 通信
  10. [网络安全自学篇] 三.Burp Suite安装配置、Proxy基础用法及流量分析示例