我是Java的新手,我正在尝试以功能性方式编写以下逻辑。
我有一个对象列表,其中有很多字段。List<someObject>
现在感兴趣的领域是long timestamp和String bookType
问题陈述是-我想找到给定列表中bookType与时间戳最少的对象数量相同的对象数。
例如,如果我们基于timestamp升序对给定的对象列表进行排序,并且排序后的列表中的第一个对象的bookType字段为SOMETYPE;;然后我想找出列表中有多少个对象bookType SOMETYPE
我使用普通的旧非功能性方法编写了此逻辑,方法是维护2个temp变量,然后遍历列表一次,以找到最低值timestamp和相应的bookTypeamd计数bookType
但这不能在lambda中运行,因为它需要将变量 final
我只能写我可以根据给定列表排序的部分 timestamp
n.stream().sorted(Comparator.comparingLong(someObject::timestamp)).collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)
我被困在如何继续寻找最低计数 timestamp bookType