当前位置: 首页 > 知识库问答 >
问题:

使用ints流的Arg-min

马高谊
2023-03-14
    Comparator<Integer> sineComparator = (i,j) -> 
        Double.compare(Math.sin(i/100.0), Math.sin(j/100.0));
    IntStream.range(1,1000)
    .min(sineComparator);

共有1个答案

柴良哲
2023-03-14

您必须使用boxed()intstream转换为stream ,这将允许您将min与比较器一起使用:

IntStream.range(1, 1000)
            .boxed()
            .min(sineComparator)

或者,您可以避免装箱,但代价是清晰度降低:

IntStream.range(1,1000)
            .reduce((i,j) -> sineComparator.compare(i, j) <= 0 ? i : j)

另外,可以使用comparator.comparingdouble创建比较器:

Comparator<Integer> sineComparator = Comparator.comparingDouble(i -> Math.sin(i/100.0));
 类似资料:
  • Ints是原始类型int的实用程序类。 Class 声明 (Class Declaration) 以下是com.google.common.primitives.Ints类的声明 - @GwtCompatible public final class Ints extends Object 字段 (Fields) Sr.No 领域和描述 1 static int BYTES 表示原始int

  • 当我使用这段代码时,我得到以下错误:“模块初始化错误:错误” 如果我将突变中的RequiredDataType更改为GraphQLString,它将不会出错,但我不能使用我需要的对象:) 最后,我将发送并处理以下数据结构: 法比安

  • arg

    Arg arg is an unopinionated, no-frills CLI argument parser. Installation npm install arg Usage arg() takes either 1 or 2 arguments: Command line specification object (see below) Parse options (Optiona

  • 本文向大家介绍 *arg和**kwarg作用相关面试题,主要包含被问及 *arg和**kwarg作用时的应答技巧和注意事项,需要的朋友参考一下  

  • 问题内容: 我刚开始学习TestNG。我遵循以下步骤: 我创建了testng类 @Test(dataProvider =“ registerData”) 我写了一个有四个参数的方法 @DataProvider 通话数据提供商 然后出现以下错误: 我正在使用Eclipse Luna Release 2(4.4.2),Window 7 问题答案: 似乎jar下方的您的类路径中不可用。com.googl

  • 我刚开始学习TestNG。我遵循以下步骤: 我已经创建了testng类 @测试(dataProvider=“registerData”) 我写了一个有四个参数的方法 @数据提供者 呼叫数据提供程序 然后弹出以下错误: 我正在使用Eclipse Luna版本2(4.4.2),窗口7