草庐IT

STREAM_ALARM

全部标签

java - 从java中的stream api调用方法

我是Java8的新手。我正在尝试以下场景。classNumbers{privateLonguserId;privateLongnumber1;privateLongnumber2;}Listlist=newArrayList();Input=={"userId":1,"number1":10,"number2":20}{"userId":1,"number1":20,"number2":40}输出::map{"userId":1,"sum":90//additionofallnumbersassociatedwithuserId}我想使用java8streamapi。我正在尝试这样,但

java - 为什么我需要将 IntStream 映射到 Stream<Character>

publicstaticintconstruction(StringmyString){Setset=newHashSet();intcount=myString.chars()//returnsIntStream.mapToObj(c->(char)c)//Streamwhyisthisrequired?.mapToInt(c->(set.add(c)==true?1:0))//IntStream.sum();returncount;}如果没有以下代码,上述代码将无法编译:.mapObj(c->(char)c)//Streamjava.util.stream.IntStream.ma

java - 不被 Stream.distinct() 过滤的相等对象

我有一个Element对象流,我需要根据相等性对其进行过滤。使用.distinct()似乎很容易,但我得到了异常结果。即使对象返回相等,它们也不会被.distinct()过滤。我错过了什么?证明如下——Listelements=getStream().filter(e->e.getName().equals("userId")).collect(Collectors.toList());System.out.println("Elementswithsamename:"+elements.size());if(elements.size()>1){System.out.println(

java - JAX-RS (Reasteasy) Response.readEntity 抛出 : IllegalStateException: RESTEASY003290: Entity is not backed by an input stream

我对发送JAX-RSPOST调用的方法进行了JUnit测试。为了独立于外部资源,我mock了REST客户端并表示应该返回一个虚拟响应。效果很好,没问题。但是:当调用myResponse.readEntity(String.class)时,我总是得到以下异常:java.lang.IllegalStateException:RESTEASY003290:Entityisnotbackedbyaninputstream这是我失败的代码片段:importcom.google.gson.JsonObject;importcom.google.gson.JsonPrimitive;importja

java - 如何逐条读取一个 Stream?

JavaStream.forEach函数有一个严重的限制,即它的消费者不可能抛出已检查的异常。因此,我想一个一个地访问Stream的元素。我想做这样的事情:while(true){OptionaloptNewString=myStream.findAny();if(optNewString.isPresent())doStuff(optNewString.get());elsebreak;}然而,findAny是短路端子操作。也就是说,它关闭流。这段代码会在while循环的第二次迭代时崩溃。我不能简单地将所有元素放在一个数组中,然后一个一个地遍历该数组,因为可能有数千万个元素。请注意,

Java Stream API如何改进表达

我有以下代码:publicListgetEntriesForUserId(intuserId){Useru=DataBaseConnector.getAllUsers().stream().filter(user->user.getUserId()==userId).findFirst().orElse(newUser(-1,"Error");returnu.getEntries();}getEntries()返回List.如何将return语句添加到此lambda表达式中?就像是.map(User::getEntries)? 最佳答案

java - 使用 Java 8 Stream API 将 List<X> 聚合到 List<X>

我有以下类(class):classMoney{CurrencyUnitcurrencyUnit;BigDecimalamount;}在我的应用程序中,我得到了一些随机列表Money对象:currencyUnit|amount---------------------EUR|5.1EUR|0USD|1.09EUR|42USD|3现在我想使用Java8StreamAPI来创建以下结果(只需为每个currencyUnit的数量调用BigDecimal::add):currencyUnit|amount---------------------EUR|47.1USD|4.09我已经知道/做过

Java 8 Stream - 为什么过滤器方法不执行?

这个问题在这里已经有了答案:WhydoesJava8Streamgeneratenothing?(3个答案)关闭6年前。我正在学习使用java流进行过滤。但是过滤后的流没有打印任何东西。我认为过滤器方法没有被执行。我的过滤代码如下:Stream.of("d2","a2","b1","b3","c").filter(s->{s.startsWith("b");System.out.println("filter:"+s);returntrue;});没有编译错误,也没有异常。有什么建议吗?

java - Stream 分组后不保留顺序

我有一个列表名称availableSeats我正在按blockIndex属性进行排序和分组,如下所示:availableSeats.stream().sorted(Comparator.comparing(SeatedTicketAssignment::getBlockIndex)).collect(Collectors.groupingBy(SeatedTicketAssignment::getBlockIndex)).forEach((block,blockAssignments)->{//Restofthecode}问题是分组依据的结果没有按照blockIndex排序。

java - Groovy:什么是 java stream anyMatch 的模拟

以下操作的Groovy模拟是什么?list.stream().anyMatch(b->b==0); 最佳答案 您的意思是查找列表是否包含元素0?deflist=[0,1,2,3,4]defresult=list.any{it==0}printlnresult您可以快速在线试用demo 关于java-Groovy:什么是javastreamanyMatch的模拟,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.