java-stream相关内容
我想确定列表是否是使用Java 8的字谜。 示例输入: “cat”,“cta”,“act”,“atc”,“tac”,“tca” 我写了以下函数来完成这项工作,但我想知道是否有更好更优雅的方法来做到这一点。 boolean isAnagram(String [] list){ long count = Stream.of(list) .map(String
..
我想达到这样的目标: items.stream() .filter(s-> ; s.contains(“B”)) .forEach(s-> s.setState(“ok”)) .collect(Collectors.toList()); 过滤,然后从过滤结果中更改属性,然后将结果收集到列表中。但是,调试器说: 无法调用 collect(Collec
..
我目前正在创建一个 Map> ,就像这样,整数表示秒: Map> map = stream.collect(Collectors.groupingBy( x - > x.getProject(), Collectors.groupingBy( x - > x
..
我有地图> 我希望得到地图> ; 来自它使用Java Streams。 我尝试按如下方式进行: public Map> groupsByInnerKey(Map> input){ return input.values() .stream() .flatMap(it
..
我必须通过Map过滤对象集合,它包含对象字段名称和字段值的键值对。我试图通过stream()。filter()来应用所有过滤器。 对象实际上是JSON,因此Map保存其变量的名称以及为了被接受,他们必须包含的值,但为了简单起见,因为它与问题无关,我写了一个简单的Testclass来模拟行为: public class TestObject { private int prope
..
partitioningBy 收集器将谓词应用于流中的每个元素,并生成从布尔到满足或不满足谓词的流中元素列表的映射。例如: Stream.of(1,2,3,4).collect(partitioningBy(x - > x> ; = 3)) // {false = [1,2],true = [3,4]} 正如分区的目的是什么所述,观察行为是 partitioningB
..
假设我有一个在接口下面实现的对象列表: public interface Summable { T add(T o1); } 假设我还有一些能够对这些对象求和的类: / p> 公共类计算器> { public T sum(final List objects){ if(null == obje
..
使用 Stream.of 创建通用流非常方便,但如果我想创建一个 Stream 只有一个元素? 假设我有: String [] tropicalFruits = new String [] {“pineapple”,“banana”,“mango”}; String [] fruits = new String [] {“melon”,“peach”,“a
..
我的理解是,一旦终端操作被认为消耗了Java 8 Stream ,例如 forEach()或 count()。 但是,下面的测试用例 multipleFilters_separate 会抛出 IllegalStateException 即使 filter 是一个懒惰的中间操作,也只是作为两个语句调用。然而,我可以将两个过滤操作链接到一个语句中并且它可以工作。 @Test(expect
..
按列表大小排序外部地图地图>> 嵌套映射中的保留外键和内键,如前所述。 解决方案 您可以通过概括流程来解决这个问题: private static地图< K,R> replaceAndSortValues(Map m,Function f,Comparator c){ return
..
我认为我的代码需要改进。我在流的过滤器()和 map() allSummaryTSTLog c $ c>阶段,所以我必须两次致电 File.listFiles : public static List ParserPath(List allLogPath){ FilenameFilter filter = new MyFilter(“Summary_T
..
我正在将原始 Stream 映射到 Stream ,然后将元素收集到列表与LT;整数> 。 为什么我必须将 collect(Collectors.toList())的结果转换为 List 如果我的mapper - .map(str - >((String)str)。length()) - 已经映射到整数? 我的代码: List li
..
使用 JUnit 和 Stream 我有以下错误消息: java.lang.IllegalStateException:stream已经被操作或关闭 我做了一项研究,很明显不可能重复使用流 但是根据这篇文章: Java - Stream已经被操作或关闭 使用供应商可以解决这个问题。 所以我当前代码如下:
..
我有一个:列表> items = new ArrayList(); 我想获得一个按键分组的Map,以及值是总和。 示例:列表 项目0 foo - > 1 bar - > 2 项目1 foo - > 4 bar - > 3 结果:地图 foo - > 5 bar - > 5 我知道如何以“漫长”的方
..
我正在寻找一个Stream上的操作,使我能够每隔n项执行一次非终端(和/或终端)操作。虽然我使用素数流,例如,流可以很容易地生成网络请求,用户操作或其他一些冷数据或实时Feed。 由此: 持续时间start = Duration.ofNanos(System.nanoTime()); IntStream.iterate(2,n - > n + 1) .filter(Find
..
我想使用流来分组,按类型获取总和,然后按类型查找不同的结果。 所以这是我的数据集。 示例(SampleId = 1,SampleTypeId = 1,SampleQuantity = 5,SampleType = ADD), 示例(SampleId) = 2,SampleTypeId = 1,SampleQuantity = 15,SampleType = ADD), Sample(
..
我的函数查找是否从列表中的给定单词列表中,一个单词在页面中有效。 因此,当页面包含单词时,我将其编写如下: (简化版) private boolean atLeastOneWordIsValidInThePage(Page page,Set wordIdsToCheck) Set wordIds = page.getWords()。stream() .f
..
我有一个元组列表,我想找到具有最大 x 值的元组。在有多个最大 x 值的情况下,我想随机选择一个。我无法弄清楚如何实现这种随机选择功能。下面是我到目前为止的代码: public void testSelectRandomFromLargestVals(){ List(); l
..
使用类: public class Person { private String name; private Color favouriteColor; } 公共枚举颜色{GREEN,YELLOW,BLUE,RED,ORANGE,PURPLE} 使用Java8 Stream API获得 List 可以在 Map
..
我的一个项目是 throw-lambdas ;在其中我的目标是在 Stream 中轻松使用潜在的 @FunctionalInterface s,其唯一的“缺陷”是在流中使用的是它们抛出已检查的异常(就我而言,我宁愿称有缺陷的事实是你不能从流中抛出已检查的异常但这是另一个故事)。 因此,对于函数 我定义了这个: @FunctionalInterface 公共接口Throw
..