当前位置: 首页 > news >正文

网站建设及推广开发荆州网站建设

网站建设及推广开发,荆州网站建设,wordpress文章投稿,客户管理系统网站模板下载该博客文章包含基本Lambda表达式和Stream API示例的列表#xff0c;我在2014年6月在Java用户组– Politechnica Gedanensis #xff08;格但斯克技术大学#xff09;和Goyello的实时编码演示中使用了这些示例。 Lambda表达式 句法 最常见的示例#xff1a; Runnable runn… 该博客文章包含基本Lambda表达式和Stream API示例的列表我在2014年6月在Java用户组– Politechnica Gedanensis 格但斯克技术大学和Goyello的实时编码演示中使用了这些示例。 Lambda表达式 句法 最常见的示例 Runnable runnable () - System.out.println(Hello!); Thread t new Thread(runnable); t.start(); t.join(); 可以这样写 Thread t new Thread(() - System.out.println(Hello!)); t.start(); t.join(); 那参数呢 ComparatorString stringComparator (s1, s2) - s1.compareTo(s2); 并扩展为完整表达 ComparatorString stringComparator (String s1, String s2) - {System.out.println(Comparing...);return s1.compareTo(s2); };功能界面 Lambda表达式使您可以更紧凑地表达单方法类的实例。 单方法类称为函数接口 可以使用FunctionalInterface进行注释 FunctionalInterface public interface MyFunctionalInterfaceT {boolean test(T t); } // Usage MyFunctionalInterfaceString l s - s.startsWith(A);方法参考 方法引用是紧凑的易于阅读的lambda表达式用于具有名称的方法。 让我们看一个简单的例子 public class Sample {public static void main(String[] args) {Runnable runnable Sample::run;}private static void run() {System.out.println(Hello!);} } 另一个例子 public static void main(String[] args) {Sample sample new Sample();ComparatorString stringLengthComparator sample::compareLength; }private int compareLength(String s1, String s2) {return s1.length() - s2.length(); }流API –基础 流是支持顺序和并行批量操作的一系列元素。 遍历列表 ListString list Arrays.asList(one, two, three, four, five, six);list.stream().forEach(s - System.out.println(s));筛选 Java 8在接口中引入了默认方法。 它们在Stream API中非常方便 PredicateString lowerThanOrEqualToFour s - s.length() 4; PredicateString greaterThanOrEqualToThree s - s.length() 3;list.stream().filter(lowerThanOrEqualToFour.and(greaterThanOrEqualToThree)).forEach(s - System.out.println(s));排序 PredicateString lowerThanOrEqualToFour s - s.length() 4; PredicateString greaterThanOrEqualToThree s - s.length() 3; ComparatorString byLastLetter (s1, s2) - s1.charAt(s1.length() - 1) - s2.charAt(s2.length() - 1); ComparatorString byLength (s1, s2) - s1.length() - s2.length();list.stream().filter(lowerThanOrEqualToFour.and(greaterThanOrEqualToThree)).sorted(byLastLetter.thenComparing(byLength)).forEach(s - System.out.println(s)); 在上面的示例中使用了默认方法and java.util.function.Predicate 。 默认和静态方法是Java 8中接口的新增方法。 限制 PredicateString lowerThanOrEqualToFour s - s.length() 4; PredicateString greaterThanOrEqualToThree s - s.length() 3; ComparatorString byLastLetter (s1, s2) - s1.charAt(s1.length() - 1) - s2.charAt(s2.length() - 1); ComparatorString byLength (s1, s2) - s1.length() - s2.length();list.stream().filter(lowerThanOrEqualToFour.and(greaterThanOrEqualToThree)).sorted(byLastLetter.thenComparing(byLength)).limit(4).forEach(s - System.out.println(s));收集到清单 PredicateString lowerThanOrEqualToFour s - s.length() 4; PredicateString greaterThanOrEqualToThree s - s.length() 3; ComparatorString byLastLetter (s1, s2) - s1.charAt(s1.length() - 1) - s2.charAt(s2.length() - 1); ComparatorString byLength (s1, s2) - s1.length() - s2.length();ListString result list.stream().filter(lowerThanOrEqualToFour.and(greaterThanOrEqualToThree)).sorted(byLastLetter.thenComparing(byLength)).limit(4).collect(Collectors.toList());并行处理 我使用了一个非常常见的示例来遍历文件列表 public static void main(String[] args) {File[] files new File(c:/windows).listFiles();Stream.of(files).parallel().forEach(Sample::process); }private static void process(File file) {try {Thread.sleep(1000);} catch (InterruptedException e) {}System.out.println(Processing - file); } 请注意在显示示例时我解释了并行处理流的一些已知缺点。 流API –更多示例 映射 遍历目录中的文件并返回FileSize对象 class FileSize {private final File file;private final Long size;FileSize(File file, Long size) {this.file file;this.size size;}File getFile() {return file;}Long getSize() {return size;}String getName() {return getFile().getName();}String getFirstLetter() {return getName().substring(0, 1);}Overridepublic String toString() {return Objects.toStringHelper(this).add(file, file).add(size, size).toString();} } 映射的最终代码 File[] files new File(c:/windows).listFiles(); ListFileSize result Stream.of(files).map(FileSize::new).collect(Collectors.toList());分组 按文件名的首字母对FileSize对象进行分组 MapString, ListFileSize result Stream.of(files).map(FileSize::new).collect(Collectors.groupingBy(FileSize::getFirstLetter));降低 获取目录中最大/最小的文件 OptionalFileSize filesize Stream.of(files).map(FileSize::new).reduce((fs1, fs2) - fs1.getSize() fs2.getSize() ? fs1 : fs2); 如果您不需要FileSize对象而只需要一个数字 OptionalLong max Stream.of(files).map(FileSize::new).mapToLong(fs - fs.getSize()).max();翻译自: https://www.javacodegeeks.com/2014/06/lambda-expressions-and-stream-api-basic-examples.html
http://www.pierceye.com/news/158547/

相关文章:

  • 医疗器械注册证查询网站优化推广服务
  • 网站制作网页做简单的网站首页
  • 怎样做网站上的语种链接泰安网络犯罪案件
  • soap公司网站建设国家游戏网站
  • 网站可以用什么做安阳区号是什么
  • 网站建设实战李静如何建设网站的能力
  • 威海 网站开发做家具的网站有哪些
  • 宁波网站建设公司怎么报价网页打开速度慢的解决方法
  • 有趣的网站有哪些推荐关键词没有排名的网站怎么做
  • 昆山网站制作哪家强海淀区企业网络公司
  • 北京网站制建设公司永兴县网站建设服务商
  • 嘉兴做网站优化公司江阴网站优化公司
  • dz可以做旅游网站吗wordpress 4.1.1 漏洞
  • 谷歌网站地图生成福州便民网免费发布信息
  • 最新军事战争新闻超级优化大师
  • 好的网站建设公司排名网站建设 交易保障
  • 怎么查看网站外链效果代理注册公司有什么风险
  • 西安网站漏洞免费自动生成小程序
  • 怎么修改网站信息同ip网站做301
  • 松江品划网络做网站logo设计网页
  • 重庆博达建设集团股份有限公司网站徐州建设企业网站
  • 有没有专门做老年婚介的网站东营会计信息网官网
  • 鞍山怎么做平台软件汕头网站时优化
  • 邹城建网站深圳装修公司排行榜
  • 泊头网站优化WordPress如何添加cnzz
  • dz论坛网站创建页面wap网站建设方案 pdf
  • 网站建设项目报告总结报告seo关于网站搜索排名关键词的标准评定
  • 东莞电商网站建设wordpress注册验证邮箱
  • 网站建设名中国建设劳动学会是假网站吗
  • 一个优秀的个人网站百度极速版免费下载安装