热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

java8新特性学习笔记

使用lambda表达式排序Collections.sort(temp,(Stringa,Stringb)-{returnb.compareTo(a);});Collections

  1. 使用lambda表达式排序

    Collections.sort(temp, (String a, String b) -> {return b.compareTo(a);});Collections.sort(temp, (String a, String b) -> b.compareTo(a));

  2. Stream使用

    List<String> test &#61; Arrays.asList("a", "a1", "a2", "b", "b1", "b2", "c", "c1", "ab");// 过滤test.stream().filter(s -> s.contains("a")).forEach(System.out::println);// 排序test.stream().sorted().forEach(System.out::println);// 映射test.stream().map(String::toUpperCase).forEach(System.out::println);// 匹配boolean a &#61; test.stream().allMatch(s -> s.contains("a"));boolean b &#61; test.stream().anyMatch(s -> s.contains("a"));boolean c &#61; test.stream().noneMatch(s -> s.contains("a"));System.out.println(a &#43; "," &#43; b &#43; "," &#43; c);// 计数long res &#61; test.stream().filter(s -> s.contains("a")).count();System.out.println(res);// 规约Optional<String> reduce &#61; test.stream().reduce((a1, a2) -> a1 &#43; "," &#43; a2);reduce.ifPresent(System.out::println);

  3. Date

    Clock clock &#61; Clock.systemDefaultZone();System.out.println(clock.millis());System.out.println(clock.instant());System.out.println(Date.from(clock.instant()));// 时区System.out.println(ZoneId.getAvailableZoneIds());ZoneId zone1 &#61; ZoneId.of("Asia/Aden");ZoneId zone2 &#61; ZoneId.of("Brazil/East");ZoneId zone3 &#61; ZoneId.of("Asia/Yerevan");System.out.println(zone1.getRules());System.out.println(zone2.getRules());System.out.println(zone3.getRules());LocalTime now1 &#61; LocalTime.now(zone1);LocalTime now2 &#61; LocalTime.now(zone2);LocalTime now &#61; LocalTime.now();System.out.println(now2 &#43; "," &#43; now1 &#43; "," &#43; now);LocalDate today &#61; LocalDate.now();System.out.println("today:"&#43;today);LocalDate tomorrow &#61; today.plus(1, ChronoUnit.DAYS);System.out.println(tomorrow);


推荐阅读
  • 本文将详细探讨 Java 中提供的不可变集合(如 `Collections.unmodifiableXXX`)和同步集合(如 `Collections.synchronizedXXX`)的实现原理及使用方法,帮助开发者更好地理解和应用这些工具。 ... [详细]
  • 深入解析 Android IPC 中的 Messenger 机制
    本文详细介绍了 Android 中基于消息传递的进程间通信(IPC)机制——Messenger。通过实例和源码分析,帮助开发者更好地理解和使用这一高效的通信工具。 ... [详细]
  • 深入解析Spring启动过程
    本文详细介绍了Spring框架的启动流程,帮助开发者理解其内部机制。通过具体示例和代码片段,解释了Bean定义、工厂类、读取器以及条件评估等关键概念,使读者能够更全面地掌握Spring的初始化过程。 ... [详细]
  • 对象自省自省在计算机编程领域里,是指在运行时判断一个对象的类型和能力。dir能够返回一个列表,列举了一个对象所拥有的属性和方法。my_list[ ... [详细]
  • 优化JavaScript中的多条件判断逻辑
    本文探讨了在JavaScript中遇到复杂逻辑判断时,如何通过不同的方法优化if/else或switch语句,以提高代码的可读性和可维护性。 ... [详细]
  • 深入解析Redis内存对象模型
    本文详细介绍了Redis内存对象模型的关键知识点,包括内存统计、内存分配、数据存储细节及优化策略。通过实际案例和专业分析,帮助读者全面理解Redis内存管理机制。 ... [详细]
  • 深入解析for与foreach遍历集合时的性能差异
    本文将详细探讨for循环和foreach(迭代器)在遍历集合时的性能差异,并通过实际代码示例和源码分析,帮助读者理解这两种遍历方式的不同之处。文章内容丰富且专业,旨在为编程爱好者提供有价值的参考。 ... [详细]
  • JavaScript 基础语法指南
    本文详细介绍了 JavaScript 的基础语法,包括变量、数据类型、运算符、语句和函数等内容,旨在为初学者提供全面的入门指导。 ... [详细]
  • 本文介绍如何使用 Android 的 Canvas 和 View 组件创建一个简单的绘图板应用程序,支持触摸绘画和保存图片功能。 ... [详细]
  • Qt QTableView 内嵌控件的实现方法
    本文详细介绍了在 Qt QTableView 中嵌入控件的多种方法,包括使用 QItemDelegate、setIndexWidget 和 setIndexWidget 结合布局管理器。每种方法都有其适用场景和优缺点。 ... [详细]
  • springMVC JRS303验证 ... [详细]
  • 交互式左右滑动导航菜单设计
    本文介绍了一种使用HTML和JavaScript实现的左右可点击滑动导航菜单的方法,适用于需要展示多个链接或项目的网页布局。 ... [详细]
  • 本文探讨如何利用Java反射技术来模拟Webwork框架中的URL解析过程。通过这一实践,读者可以更好地理解Webwork及其后续版本Struts2的工作原理,尤其是它们在MVC架构下的角色。 ... [详细]
  • Java实现文本到图片转换,支持自动换行、字体自定义及图像优化
    本文详细介绍了如何使用Java实现将文本转换为图片的功能,包括自动换行、自定义字体加载、抗锯齿优化以及图片压缩等技术细节。 ... [详细]
  • Vue 3.0 翻牌数字组件使用指南
    本文详细介绍了如何在 Vue 3.0 中使用翻牌数字组件,包括其基本设置和高级配置,旨在帮助开发者快速掌握并应用这一动态视觉效果。 ... [详细]
author-avatar
jg山家小屋
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有