重庆餐饮加盟网站建设,专业的建网站的公司,网站建设实施计划书,玉器网站模版工作中遇到的问题随笔记录
1、将map集合中的key/value数据按照一定的需求过滤出来#xff0c;并将过滤出来的map的key值存到list集合中
首先想到的是stream流#xff0c;但是我对stream流的用法基本不熟#xff0c;记不住方法#xff0c;如果坚持用stream流去实现这个需求…工作中遇到的问题随笔记录
1、将map集合中的key/value数据按照一定的需求过滤出来并将过滤出来的map的key值存到list集合中
首先想到的是stream流但是我对stream流的用法基本不熟记不住方法如果坚持用stream流去实现这个需求要么去系统的学一遍stream流的各种用法要么就从需求本身入手这个需求需要哪些方法再去对应了解和使用时间成本问题这里我选择后者。
首先就是要将map集合转化为stream流。
map.entrySet().stream()stream流中过滤的方法是filter那么这段代码这变成了 map.entrySet().stream().filter()比如过滤条件是map的value要等于String类型的link map.entrySet().stream().filter((entry) - entry.getValue().equals(link))过滤完之后因为stream的特性
Stream流只能操作一次
Stream方法返回的是新的流
Stream不调用终止方法中间的操作不会执行。所以要将这个流再次转换为map才能进行下一步操作 map.entrySet().stream().filter((entry) - entry.getValue().equals(vlink)).collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue))将过滤出来的map的key值存到list集合中 list.addAll(map.entrySet().stream().filter((entry) - entry.getValue().equals(vlink)).collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue)).keySet()); 2、接口入参要求是list但是实际的需求只能传一个参数需要new一个list集合来存放这个参数吗
Collections.singletonList() 是一个静态方法它返回一个包含单个指定元素的不可变列表。该方法接受一个参数即要包含在列表中的元素。这个方法通常用于创建只包含一个元素的列表因为这种情况下使用普通的 ArrayList 或 LinkedList 等列表实现会浪费内存和资源。由于返回的列表是不可变的因此不能向其添加或删除元素但可以通过 get() 方法获取其中的元素。
ListString link Collections.singletonList(link);
String link link.get(0);3、程序启动后获取启动后最近的一个整点和距离这个整点还有多少秒
LocalDateTime now LocalDateTime.now();
LocalDateTime nextHour now.plusHours(1).withMinute(0).withSecond(0).withNano(0);
long secondsUntilNextHour ChronoUnit.SECONDS.between(now, nextHour);
System.out.println(Next hour: nextHour , seconds until next hour: secondsUntilNextHour);待续…………