草庐IT

reduce_max

全部标签

java - Stream.max(Integer::max) :意外结果

这个问题在这里已经有了答案:Java8stream's.min()and.max():whydoesthiscompile?(5个答案)关闭6年前。我正在学习1z0-809:JavaSE8ProgrammerII使用Enthuware的模拟测试。遇到这个问题。Listls=Arrays.asList(3,4,6,9,2,5,7);System.out.println(ls.stream().reduce(Integer.MIN_VALUE,(a,b)->a>b?a:b));//1System.out.println(ls.stream().max(Integer::max).get()

java ResultSet,使用MAX sql函数

你好,这是我想要的,我连接到一个数据库并检索UniqueId列的最大元素,并将其分配给一个名为maxID的整数变量,这是我的方法:intmaxID=0;Statements2=con.createStatement();s2.execute("SELECTMAX(UniqueId)FROMMyTable");ResultSetrs2=s2.getResultSet();//while(rs2.next()){maxID=rs2.getInt(0);}什么是解决这个问题的合适方法,使用“rs2.next()”while循环感觉是一种非常粗糙的方法。谢谢 最佳答

java - 带有接口(interface)的 "Cannot reduce the visibility of the inherited method"的含义

我有两个文件:publicinterfacePrintService{voidprint(PrintDetailsdetails);classPrintDetails{privateStringprintTemplate;}publicinterfaceTask{StringACTION="print";}}和publicclassAimplementsPrintService{voidprint(PrintDetailsdetails){System.out.println("printing:"+details);}Stringaction=PrintService.Task.AC

java.sql.SQLNonTransientConnectionException : org. apache.thrift.transport.TTransportException : Frame size larger than max length (16384000)!

我在IntellyJ中有一个带有CassandraDB的java项目,我使用的是Maven3和Java7。Cassandra版本是2.0.6。我有一个包含近100,000行的表。当我运行该程序时,出现此异常:java.sql.SQLNonTransientConnectionException:org.apache.thrift.transport.TTransportException:Framesize(16858796)largerthanmaxlength(16384000)!atorg.apache.cassandra.cql.jdbc.CassandraStatement.

java - 为什么内联 Math.max 会使代码慢 200 倍以上?

我最近开始对一些Java代码进行基准测试,以便为我的程序获得最佳性能结果,并注意到一些奇怪的事情。即,我对以下方法进行了基准测试:privatestaticfinalintn=10000;publicstaticvoidtest0(){intm=0;for(inti=0;i=m)?i:m);}}并得到这些结果:|Test0|Test1|----------+-----------------+-----------------+-Average:|51,77ns|13956,63ns|Best:|0,00ns|6514,00ns|Worst:|25,45ms|60,50ms|Tries

java - 执行 map-reduce 操作的通用方法。 (Java-8)

如何在Java8中使用泛型参数重载函数?publicclassTest{Listlist=newArrayList();publicintsum(Functionfunction){returnlist.stream().map(function).reduce(Integer::sum).get();}publicdoublesum(Functionfunction){returnlist.stream().map(function).reduce(Double::sum).get();}}Error:java:nameclash:sum(java.util.function.Fun

java - Max Heapify 算法结果

我一直在研究算法入门教科书中的一些算法,特别是我正在尝试让二叉堆100%正确地工作。我有一种奇怪的感觉,我正在使用的示例不正确,我想知道是否有人可以帮助我指明正确的方向。给定数组int[]arr={1,2,3,4,7,8,9,10,14,16};我从MaxHeapify得到的结果是[16,14,9,10,7,8,3,1,4,2]但是,在进行了一些Google搜索之后,我发现使用这个精确数组作为示例的人期望的结果是:[16,14,10,8,7,9,3,2,4,1]令我困惑的是,我的MaxHeapify方法给出的结果满足堆属性,但它与预期的不同。下面是我在Java中的实现publicsta

java - Stream reduce() 要求到底包含什么?

在并行流上使用reduce()操作时,theOCPexambook说明reduce()参数必须遵守某些原则。这些原则如下:Theidentitymustbedefinedsuchthatforallelementsinthestreamu,combiner.apply(identity,u)isequaltou.Theaccumulatoroperatoropmustbeassociativeandstatelesssuchthat(aopb)opcisequaltoaop(bopc).Thecombineroperatormustalsobeassociativeandstatele

java - Java 整数类型原始类型是否在转换类型的 MAX_INT 处转换为 "capped"?

我试图追踪一些非常奇怪的Java行为。我有一个涉及double的公式,但“保证”给出整数答案——具体来说,是一个无符号的32位整数(唉,Java做得不好)。不幸的是,我的回答有时不正确。最终我发现了这个问题,但对我来说这种行为仍然很奇怪:一个double直接转换为一个int似乎对于有符号整数,上限为MAX_INT,而double转换为long,then转换为int给出了预期的答案(-1;无符号32位整数的MAXINT表示为带符号的32位整数)。我写了一个小测试程序:publicstaticvoidmain(String[]args){//ThisistheMaxIntfora32-bi

HashMap 上的 Java 8 Map Reduce 作为 lambda

我有一个String并想替换其中的一些单词。我有一个HashMap,其中键是要替换的占位符,值是要替换它的词。这是我的老派代码:privateStringreplace(Stringtext,Mapmap){for(Entryentry:map.entrySet()){text=text.replaceAll(entry.getKey(),entry.getValue());}returntext;}有没有办法将这段代码写成lambda表达式?我尝试了entrySet().stream().map(...).reduce(...).apply(...);但无法正常工作。提前致谢。