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

0基础多久学会网站架构/青岛网络优化代理

0基础多久学会网站架构,青岛网络优化代理,服装公司网站建设,wordpress采集网站以下示例是新的Java 12功能“switch expressions” 以及如何将其与Stream 操作和其他一些流操作结合使用,使代码更加简洁。Switch Expressions//Switch表达式允许switch语句直接返回值 public String newSwitch(int day) {return switch (day) {case 2, 3, 4, 5, 6 …

以下示例是新的Java 12功能“switch expressions” 以及如何将其与Stream 操作和其他一些流操作结合使用,使代码更加简洁。

Switch Expressions

//Switch表达式允许switch语句直接返回值
public String newSwitch(int day) {return switch (day) {case 2, 3, 4, 5, 6 -> "weekday";case 7, 1 -> "weekend";default -> "invalid";} + " category";
}System.out.print(newSwitch(1));//返回“weekend category”//对比一下旧版本的写法
public String oldSwitch(int day) {final String attr;switch (day) {case 2,3,4,5,6: {attr = "weekday";break;}case  7, 1: {attr = "weekend";break;}default: {attr = "invalid";}}return attr + " category";
}复制代码

Switch Expressions in Stream

Stream::map

public static void main(String... argv) {List<Object>  films = Arrays.asList(1,2,3);try ( List<String> languages = films.stream().map(f -> "the " + switch (f.getLanguageId()) {case 1 -> "English";case 2 -> "French";case 3 -> "German";default -> "Unknown";} + " language").collect(toList());System.out.println(languages);//[the English language,the French language,the German language]
}//对比一下旧版写法1
List<String> languages = films.stream().map(f -> {final String language;switch (f.getLanguageId()) {case 1: {language = "English";break;}case 2: {language = "French";break;}case 3: {language = "German";break;}default: {language = "Unknown";}}return "the " + language + " language";}).collect(toList());//或者这样List<String> languages = films.stream().map(f -> {switch (f.getLanguageId()) {case 1: return "the English language";case 2: return "the French language";case 3: return "the German language";default: return "the Unknown language";}}).collect(toList());复制代码

Stream::mapToInt

class Films{private Integer Id;private String rate;//电影名public Films(String rate){this.rate = rate;}
}复制代码
//进行数据的统计示例List<Films> films = Arrays.asList(new Films("G"),new Films("PG"),new Films("PG-13"),new Films("R"),new Films("NC-17") .......);
IntSummaryStatistics statistics = films.stream().mapToInt(f -> switch (f.getRating().orElse("Unrated")) {case "G", "PG" ->  0;case "PG-13"   ->  1;case "R"       ->  2;case "NC-17"   ->  5;case "Unrated" -> 10;default -> 0;}).summaryStatistics();System.out.println(statistics);//IntSummaryStatistics{count=1000, sum=1663, min=0, average=1.663000, max=5}//对比一下老版的写法, 其实也没多大区别 。。。
IntSummaryStatistics statistics = films.stream().mapToInt(f -> { switch (f.getRating().orElse("Unrated")) {case "G": case "PG": return 0;case "PG-13":   return 1;case "R":       return 2;case "NC-17":   return 5;case "Unrated": return 10;default: return 0;}}).summaryStatistics();复制代码

Stream::collect

//分组统计 输出TreeMap
List<Films> films = Arrays.asList(new Films("G"),new Films("PG"),new Films("PG-13"),new Films("R"),new Films("NC-17") .......);
Map<Integer, Long> ageMap = films.stream().collect(groupingBy( f -> switch (f.getRating().orElse("Unrated")) {case "G", "PG" -> 0;case "PG-13"   -> 13;case "R"       -> 17;case "NC-17"   -> 18;case "Unrated" -> 21;default -> 0;},TreeMap::new,Collectors.counting()));
System.out.println(ageMap);//{0=372, 13=223, 17=195, 18=210}复制代码

总结:

switch表达式有时可以替换许多Stream操作类型的lambda和方法引用。更多操作后续完善。

JDK 12 Download: jdk.java.net/12/


转载于:https://juejin.im/post/5cf5eb9bf265da1baa1e6062

http://www.jmfq.cn/news/5167279.html

相关文章:

  • 上海 网站建设 案例/怎样做竞价推广
  • 网站更新/app推广拉新接单平台
  • 上海建桥学院门户网站/百度推广外推联系方式
  • 做网赌需要在哪些网站投广告/抖音推广引流平台
  • 临沂外贸网站建设/今天的新闻最新消息
  • 青岛企业网站制作哪家好/淘宝seo是什么
  • 在国内做博彩网站代理/代写
  • 大众点评如何做团购网站/企业网站营销实现方式
  • 景县做网站/百度怎么打广告
  • 公司想为一个产品做多个网站/西安网站seo推广
  • 上海未成年人思想道德建设网站/谷歌官网登录入口
  • 做外贸的阿里巴巴网站是哪个更好/推广app赚佣金平台
  • wordpress网站统计插件/广州seo关键词优化费用
  • 麻章网站建设公司/广告网络
  • 58网站一起做网店/高端定制网站建设
  • 网页设计意图怎么写/百度seo软件曝光行者seo
  • 网站设计怎么算间距/什么是淘宝搜索关键词
  • 网站购买云空间/百度一下你就知道百度官网
  • 阿里云 建设网站怎么样/2024年将爆发新瘟疫
  • 如何替换网站ico图标/百度认证营销推广师
  • 怎么新增网站推广/重庆seo优化推广
  • 汕头市研发网站建设/最新app推广
  • 免费订单管理app/网站优化seo怎么做
  • 手机制作钓鱼网站/引擎搜索对人类记忆的影响
  • 精品网站建设费用 磐石网络/营销软件
  • 哪个公司做网站好/安卓aso优化工具
  • 商业网站推广/产品营销策划方案3000字
  • 中心网站建设/南昌seo排名收费
  • 自己做的一个网站怎么赚钱/网络广告网站
  • 织梦网站统计/十大网络推广公司排名