草庐IT

streamed

全部标签

java - 如何计算与 Streams 的谓词匹配的元素数量?

在Java7中我有这个代码:publicintgetPlayersOnline(){intcount=0;for(Playerplayer:players){if(player.isActive()){count++;}}returncount;}我正在尝试尽可能多地使用Java8的特性,我该如何使用lambdas来改进它? 最佳答案 这将是一个单行:return(int)players.stream().filter(Player::isActive).count(); 关于java-

java - 为什么 java stream.count() 返回很长?

为什么没有stream.count()返回一个int?我知道我可以通过强制转换轻松地将long转换为int,return(int)players.stream().filter(Player::isActive).count();但是为什么javastream.count()会返回long而不是int? 最佳答案 当Java于1996年初问世时,普通PC有8到16Mb的内存。由于数组和集合都与内存大小密切相关,使用int来表示元素计数似乎很自然,因为它足以寻址一个4Gb的int数组。大小-即使是1996年的硬盘驱动器,它的大小也是巨

java - 为什么 java stream.count() 返回很长?

为什么没有stream.count()返回一个int?我知道我可以通过强制转换轻松地将long转换为int,return(int)players.stream().filter(Player::isActive).count();但是为什么javastream.count()会返回long而不是int? 最佳答案 当Java于1996年初问世时,普通PC有8到16Mb的内存。由于数组和集合都与内存大小密切相关,使用int来表示元素计数似乎很自然,因为它足以寻址一个4Gb的int数组。大小-即使是1996年的硬盘驱动器,它的大小也是巨

java - 流 API 和队列 : Subscribe to BlockingQueue stream-style

假设我们有一个队列BlockingQueuequeue=newLinkedBlockingQueue();和其他一些线程将值放入其中,然后我们像这样读取它while(true){Stringnext=queue.take();System.out.println("nextmessage:"+next);}如何以流的方式迭代这个队列,同时保持与上述代码相似的语义。这段代码只遍历当前队列状态:queue.stream().forEach(e->System.out.println(e)); 最佳答案 我对你的期望有所猜测,但我想我有一

java - 流 API 和队列 : Subscribe to BlockingQueue stream-style

假设我们有一个队列BlockingQueuequeue=newLinkedBlockingQueue();和其他一些线程将值放入其中,然后我们像这样读取它while(true){Stringnext=queue.take();System.out.println("nextmessage:"+next);}如何以流的方式迭代这个队列,同时保持与上述代码相似的语义。这段代码只遍历当前队列状态:queue.stream().forEach(e->System.out.println(e)); 最佳答案 我对你的期望有所猜测,但我想我有一

java - 如何将 org.w3c.dom.NodeList 与 Java 8 Stream API 一起使用?

我相信界面org.w3c.dom.NodeList缺少一个stream()函数来利用Java8的StreamAPI的优势。考虑到引入默认方法以确保向后兼容性,我不明白为什么这个接口(interface)没有stream()功能。所以我的问题是:如何将NodeList与StreamAPI结合使用?如果不鼓励这样做,原因是什么?提前致谢!编辑:我目前正在使用这个实用程序包装器:privatestaticStreamnodeStream(NodeListlist){Listnodes=newArrayList();for(intn=0;n 最佳答案

java - 如何将 org.w3c.dom.NodeList 与 Java 8 Stream API 一起使用?

我相信界面org.w3c.dom.NodeList缺少一个stream()函数来利用Java8的StreamAPI的优势。考虑到引入默认方法以确保向后兼容性,我不明白为什么这个接口(interface)没有stream()功能。所以我的问题是:如何将NodeList与StreamAPI结合使用?如果不鼓励这样做,原因是什么?提前致谢!编辑:我目前正在使用这个实用程序包装器:privatestaticStreamnodeStream(NodeListlist){Listnodes=newArrayList();for(intn=0;n 最佳答案

Java8 Streams - 使用 Stream Distinct 删除重复项

我有一个流,例如:Arrays.stream(newString[]{"matt","jason","michael"});我想删除以相同字母开头的名称,以便只剩下一个以该字母开头的名称(不管是哪个)。我试图了解distinct()方法有效。我在文档中读到它基于对象的“equals”方法。但是,当我尝试包装String时,我注意到equals方法从未被调用,并且没有任何内容被删除。我这里有什么遗漏吗?包装类:staticclassWrp{Stringtest;Wrp(Strings){this.test=s;}@Overridepublicbooleanequals(Objectoth

Java8 Streams - 使用 Stream Distinct 删除重复项

我有一个流,例如:Arrays.stream(newString[]{"matt","jason","michael"});我想删除以相同字母开头的名称,以便只剩下一个以该字母开头的名称(不管是哪个)。我试图了解distinct()方法有效。我在文档中读到它基于对象的“equals”方法。但是,当我尝试包装String时,我注意到equals方法从未被调用,并且没有任何内容被删除。我这里有什么遗漏吗?包装类:staticclassWrp{Stringtest;Wrp(Strings){this.test=s;}@Overridepublicbooleanequals(Objectoth

关于android11,12权限问题Unable to decode stream: open failed: EACCES (Permission denied)

第一次发博客这个问题是我在制作一款app时发现的,我本来想在一个textview中加入一个图片StringpicturePath="your.jpg";Bitmapbitmap=BitmapFactory.decodeFile(picturePath);Drawabled=newBitmapDrawable(getResources(),bitmap);textview.setCompoundDrawablesWithIntrinsicBounds(null,d,null,null);但是总是报错E/BitmapFactory:Unabletodecodestream:java.io.File