草庐IT

bit_stream

全部标签

Java 8 Stream API 查找与属性值匹配的唯一对象

使用Java8Stream从Collection中查找与Property值匹配的对象。Listobjects=newArrayList();个人属性->姓名、电话、电子邮件。遍历人员列表并找到对象匹配的电子邮件。看到这可以通过Java8流轻松完成。但这仍然会返回一个集合?例如:ListmatchingObjects=objects.stream.filter(p->p.email().equals("testemail")).collect(Collectors.toList());但我知道它总会有一个独特的对象。我们可以做些什么来代替Collectors.toList以便我直接获得实

java - 使用 Stream 避免 NoSuchElementException

我有以下Stream:Streamstream=stream();Tresult=stream.filter(t->{doublex=getX(t);doubley=getY(t);return(x==tx&&y==ty);}).findFirst().get();returnresult;但是,并不总是有结果给我以下错误:NoSuchElementException:Novaluepresent那么如果没有值,我该如何返回null? 最佳答案 您可以使用Optional.orElse,这比检查isPresent简单得多:Tresu

Java "Bit Shifting"教程?

已结束。此问题不符合StackOverflowguidelines.它目前不接受答案。要求我们推荐或查找书籍、工具、软件库、教程或其他场外资源的问题对于StackOverflow来说是题外话,因为它们往往会吸引固执己见的答案和垃圾邮件。相反,请描述问题以及迄今为止为解决该问题所做的工作。关闭8年前。Improvethisquestion我会感谢一个很好的教程,它为Java新手解释了Java中的所有“位移”是如何工作的。我总是偶然发现它,但从不明白它是如何工作的。它应该解释java中字节移位/位操作可能的所有操作和概念。这只是我的意思的一个例子,(但我正在寻找一个解释所有可能操作的教程)

java - java.util.Collection 为什么不实现新的 Stream 接口(interface)?

我刚刚花了一些时间开始研究有关流和lambda的java-8嗡嗡声。令我惊讶的是,您不能直接在java.util.Collection上应用Stream操作,例如.map()、.filter()>。java.util.Collection接口(interface)未扩展是否有技术原因这些Stream操作的默认实现?谷歌一下,我看到很多人按照以下模式编码的例子:Listlist=someListExpression;ListanotherList=list.stream().map(x->f(x)).collect(Collectors.toList());如果您的代码中有很多这样的流操

java - Java 8 是否缺少处理可变流的 Stream.concat?

目前我们有以下Stream.concat在Java8中:publicstaticStreamconcat(Streama,Streamb);我很惊讶为什么没有版本采用Stream的可变参数?目前我的代码如下:StreamresultStream=Stream.concat(stream1,Stream.concat(stream2,Stream.of(element))).filter(x->x!=0).filter(x->x!=1).filter(x->x!=2);如果此签名的可变参数可用:publicstaticStreamconcat(Stream...streams);然后我可

java - 如何将多个谓词应用于 java.util.Stream?

如何将多个谓词应用于java.util.Stream的filter()方法?这就是我现在所做的,但我不太喜欢它。我有一个Collection事物,我需要根据过滤器(谓词)的Collection减少事物的数量:Collectionthings=someGenerator.someMethod();Listfiltered=things.parallelStream().filter(p->{for(Filterf:filtersCollection){if(f.test(p))returntrue;}returnfalse;}).collect(Collectors.toList());

64-bit - 如何检测安装了哪种 JRE——32 位与 64 位

在使用NSIS安装程序进行安装期间,我需要检查系统上安装了哪个JRE(32位与64位)。我已经知道我可以检查系统属性“sun.arch.data.model”,但这是特定于Sun的。我想知道是否有一个标准的解决方案。 最佳答案 可以使用“os.arch”属性检索正在使用的JVM架构:System.getProperty("os.arch");“os”部分似乎有点用词不当,或者最初的设计者可能没有预料到JVM会在他们不是为之编写的架构上运行。返回值似乎是inconsistent.NetBeans安装程序团队是tacklingtheis

Java 8 的流 : why parallel stream is slower?

我正在使用Java8的流,无法理解我得到的性能结果。我有2核CPU(Inteli73520M)、Windows8x64和64位Java8update5。我正在对字符串的流/并行流进行简单映射,发现并行版本有点慢。Function,Long>timeOperation=(Streamstream)->{longtime1=System.nanoTime();finalListlist=stream.map(String::toLowerCase).collect(Collectors.toList());longtime2=System.nanoTime();returntime2-ti

java - 有什么方法可以重用 Stream 吗?

这个问题在这里已经有了答案:Copyastreamtoavoid"streamhasalreadybeenoperateduponorclosed"(10个回答)关闭2年前。我正在学习Java8的新功能,在尝试使用流(java.util.stream.Stream)和收集器时,我意识到一个流不能被使用两次。有没有办法重复使用它? 最佳答案 来自documentation:Astreamshouldbeoperatedon(invokinganintermediateorterminalstreamoperation)onlyonce

java - Java 8 与 Java 9 中的 Stream.peek() 方法

我正在学习Java8lambda表达式,并想询问以下与peek相关的Java代码。我遇到的函数接口(interface)中的方法。在IDE上执行程序时,它没有输出。我期待它会给出2,4,6.importjava.util.Arrays;importjava.util.List;publicclassTest_Q3{publicTest_Q3(){}publicstaticvoidmain(String[]args){Listvalues=Arrays.asList(1,2,3);values.stream().map(n->n*2).peek(System.out::print).co