-
612 votesanswersviews
如何将Java 8流转换为数组?
将Java 8 Stream 转换为数组的最简单/最简单的方法是什么? -
3 votesanswersviews
Java 8流和列表分组
我有一个订单列表,我想用户使用Java 8流和Collectors.groupingBy对它们进行分组: orderList.stream().collect(Collectors.groupingBy(order -> order.getUser()) 这将返回包含用户和订单列表的 Map : Map<User, List<Order>> 我不需要整个对象用户只... -
220 votesanswersviews
为什么Iterable <T>不提供stream()和parallelStream()方法?
我想知道为什么 Iterable 接口不提供 stream() 和 parallelStream() 方法 . 考虑以下课程: public class Hand implements Iterable<Card> { private final List<Card> list = new ArrayList<>(); private final... -
2 votesanswersviews
Java 8中不同语言环境的命名月份名称
我需要能够以月份格式支持名义月份名称,例如Listopad 2016年用波兰语 . 我仍然支持其他日期的格式格式作为完整 MMM/dd/YYYY 日期,所以我不想失去该功能 . 我使用的是Java 8,我相信Java 8默认使用genitive格式 . 我已经尝试过将jodaTime用于MonthYear,但Java 8更新似乎强迫它在任何地方显示所有格式 . 我需要支持其他语言支持几个月的变换,... -
805 votesanswersviews
Java 8中的::(双冒号)运算符
我正在探索Java 8源代码,发现代码的这一特定部分非常令人惊讶: //defined in IntPipeline.java @Override public final OptionalInt reduce(IntBinaryOperator op) { return evaluate(ReduceOps.makeInt(op)); } @Override public final ... -
0 votesanswersviews
AudioInputStream:在macOS和8位wav文件上使用Java 1.7和1.8弹出噪声
使用AudioInputStream播放示例时遇到了一个奇怪的问题 . 三种情况: macOS,java 1.6:完美无缺 win,java 1.8:完美无缺 macOS,java 1.8:重音流行音 我为测试创建的代码很简单 . 样品很干净(开始和结束时为零交叉) . 第一个pop已经出现在soundLine.start()上,它完全独立于样本 . 最后一次弹出发生在soundL... -
193 votesanswersviews
Java 8流的.min()和.max():为什么要编译?
注意:这个问题源于一个死链接,这是以前的SO问题,但是这里...... 请参阅此代码( note: I do know that this code won't "work" and that Integer::compare should be used -- I just extracted it from the linked question ): final Arra... -
342 votesanswersviews
使用Java 8 JDK将Iterable转换为Stream
我有一个返回 java.lang.Iterable<T> 的接口 . 我想使用Java 8 Stream API来操纵该结果 . 但是Iterable不能“流” . 知道如何将Iterable用作Stream而不将其转换为List吗? -
468 votesanswersviews
Java 8中map和flatMap方法的区别是什么?
在Java 8中,Stream.map和Stream.flatMap方法之间有什么区别? -
148 votesanswersviews
标准Kotlin库中提供了哪些Java 8 Stream.collect等价物?
在Java 8中,有Stream.collect允许对集合进行聚合 . 在Kotlin中,除了作为stdlib中的扩展函数的集合之外,它不以相同的方式存在 . 但目前尚不清楚不同用例的等价性 . 例如,top of the JavaDoc for Collectors是为Java 8编写的示例,当将它们移植到Kolin时,在不同的JDK版本上不能使用Java 8类,因此它们应该以不同的方式编写 .... -
23 votesanswersviews
Java 8方法引用调用局部变量
我正在学习Java 8,我遇到了一些我觉得有点奇怪的事情 . 请考虑以下代码段: private MyDaoClass myDao; public void storeRelationships(Set<Relationship<ClassA, ClassB>> relationships) { RelationshipTransformer transform... -
2 votesanswersviews
Java8可选如果为null则触发一个方法,如果不为null则为另一个方法
我有一个字符串和B字符串,app如果不是null则更喜欢A,并调用转换方法 changeA() . 但是,如果A为null,则它将使用B并调用方法 changeB() . 两种转换方法都返回相同的对象类型 Result . 但有一点需要注意的是,str B也可能为null,如果该情况返回null . 我如何使用JDK中的optional和lambda表达式来处理此问题 . 我有以下代码库: ... -
2 votesanswersviews
如果optional.isPresent()则使用可选值作为方法参数
我有一个包含几个选项的对象,其中可选项不为null,我想将其值作为参数传递给需要多个参数的方法 . 目前我有一个代码块,如下所示: if (dealerRequest.getIsApproved().isPresent()) { repository.updateDealerPartnerFinanceIsApproved(dealerRequest.get... -
390 votesanswersviews
从Java 8中的java.util.stream.Stream中检索List
我正在玩Java 8 lambdas来轻松过滤集合 . 但我没有找到一种简洁的方法来将结果检索为同一语句中的新列表 . 到目前为止,这是我最简洁的方法: List<Long> sourceLongList = Arrays.asList(1L, 10L, 50L, 80L, 100L, 120L, 133L, 333L); List<Long> targetLongList... -
122 votesanswersviews
使用Streams添加BigDecimals
我有一个BigDecimals的集合(在这个例子中,一个 LinkedList ),我想加在一起 . 是否可以使用流? 我注意到 Stream 类有几种方法 Stream::mapToInt Stream::mapToDouble Stream::mapToLong 每个方法都有一个方便的 sum() 方法 . 但是,正如我们所知, float 和 double 算术几乎总是一个坏主意 . 那么... -
217 votesanswersviews
Java 8 getter应该返回可选类型吗?
Java 8中引入的 Optional 类型对于许多开发人员来说是一件新事物 . 是一个getter方法返回 Optional<Foo> 类型代替经典的 Foo 一个好习惯吗?假设该值可以是 null . -
118 votesanswersviews
可选orElse Java中的可选项
我一直在使用新的Optional type in Java 8,并在功能上支持我've come across what seems like a common operation that isn':"orElseOptional" 考虑以下模式: Optional<Result> resultFromServiceA = serviceA(args); if (... -
1 votesanswersviews
用条件转换HashMap中的流
我是java的新手 . 我正在尝试从包含showNames的流创建一个HashMap . 我的问题是,名称可能是重复的,它们可以出现多次,这意味着它们必须映射在同一个键上,我在映射后尝试使用过滤器,但我不确定要放入什么条件 . X-> x.equals(x)的?流showNames的外观如下: LOTR,Lucifer,Breaking Bad,LOTR,Exorcist,The God... -
3 votesanswersviews
从HashMap获取最大的Set大小
我有一个 <Integer, Set<Integer>>. 的hashMap 我愿意使用java流操作获取具有最大大小的Set . 这是我的例子: public class Example { public static void main( String[] args ) { Map<Integer,Set<Integer>... -
56 votesanswersviews
我应该为每个可能返回null的方法使用Java8 / Guava Optional吗?
可选用于表示可为空的对象,此类的一些用途包括 作为方法返回类型,作为返回null的替代方法表示没有可用的值 区分"unknown"(例如,不存在于 Map 中)和"known to have no value"(存在于 Map 中,具有值)Optional.absent()) 在不支持null的集合中包装可存储的引用以存储(尽管还有其他几种方法应... -
9 votesanswersviews
如何在java 8中使用流将一些字段收集到一个列表中?
例如,我有一个名字和姓氏的人 . 我想从人员列表中收集一个字符串列表(姓名和姓氏),但似乎我不能每个列表使用两次 Map 或者每个列表不能使用两次流 . 我的代码是: persons.stream() .map(Person::getName) .collect(Collectors.toSet()) .stream().map(Person::getSurname) .collect(... -
0 votesanswersviews
关闭内部睡眠 - Java 8 lambdas
我知道这个问题听起来很愚蠢 - 我认为lambdas是并行执行的,所以当我运行类似的东西时 List<Integer> list = ArrayList<Integer>(); list.add(3); list.add(2); list.add(1); list.forEach(n -> System.out.println(""+n)); 我... -
10 votesanswersviews
如何使用Java 8流将列表的元素映射到它们的索引?
有了一个字符串列表,我需要构建一个有效对的列表 (string, its position in the list) . 目前我有使用谷歌收藏的代码: public Robots(List<String> names) { ImmutableList.Builder<Robot> builder = ImmutableList.builder(); for... -
17 votesanswersviews
如何在Java 8中以相反的顺序从列表中获取有序流
是否有一种理智的方式从列表中获取有序流(具体来说,数组列表,但它应该无关紧要)流式元素与它们在原始列表中的方式相反? 我需要在任何事物中缓冲数据(收集器,另一个列表,数组等,因为它们复制了浪费的容器),或使用 Collections.reverse (因为它修改了列表) . 到目前为止,我在这里看到的最简洁的方法是实现我自己的 Spliterator 版本 ORDERED 并反向推进列表,或实现反... -
26 votesanswersviews
Java 8 Stream API用于查找与属性值匹配的唯一对象
使用Java 8 Stream从集合中查找与Property值匹配的对象 . List<Person> objects = new ArrayList<>(); 人员属性 - >姓名,电话,电子邮件 . 迭代人员列表并找到匹配电子邮件的对象 . 看到这可以通过Java 8流轻松完成 . 但那仍然会收回一个集合? 例如: List<Person> matc... -
2 votesanswersviews
Java流 - 验证列表中至少有一个元素包含在另一个元素中
我有一张 Map . 比方说吧 Map<Long, Train> 每列火车都有一份清单 List<Integer> parts = train.getTrainParts() 我有另一个清单 List<Integer> blueParts; 我想迭代 Map 并收集所有至少有一个蓝色部分的列车 . 这是 Stream 的天真用法: trainMap().... -
48 votesanswersviews
是否存在可用于任何lambda的无操作(NOP)的方法参考?
这可能听起来像一个奇怪的问题,但有没有办法在Java 8中引用Lambda的标准无操作(即null操作,空模式方法,无操作,无操作方法)方法 . 目前,我有一个方法,例如, void foo(Consumer<Object>) ,我想给它一个no-op,我必须声明: foo(new Consumer<Object>() { public void accept(Obj... -
320 votesanswersviews
如何在Java 8中将列表列表转换为列表?
如果我有 List<List<Object>> ,如何通过使用Java 8的功能将其转换为包含相同迭代顺序中所有对象的 List<Object> ? -
239 votesanswersviews
如何从Java 8流中抛出CHECKED异常?
如何从Java 8流/ lambdas中抛出CHECKED异常? 换句话说,我想像这样编译代码: public List<Class> getClasses() throws ClassNotFoundException { List<Class> classes = Stream.of("java.lang.Object&q... -
7 votesanswersviews
Java 8 Collectors API
这个问题涉及使用java 8收集器对元素进行映射和分组 . 我有一份患者名单 . 每位患者都有他访问过的部门列表 . 假设我想为每个部门计算在Java 8中使用新的收集器API访问了多少时间,我将如何按部门列表进行分组? 谢谢! NOTE: 我知道我可以在每个部门都设置一个计数器,这个问题仅仅是为了学习新的java 8功能 . 码: public class Patient { priva...