get closest value to a number in array

后端 未结 12 1833
庸人自扰
庸人自扰 2020-12-01 07:52

I have an array of positive/negative ints

int[] numbers = new int[10];
numbers[0] = 100;
numbers[1] = -34200;
numbers[2] = 3040;
numbers[3] = 400433;
numbers         


        
12条回答
  •  感情败类
    2020-12-01 08:22

    In Java 8:

    List list = Arrays.stream(numbers).boxed().collect(Collectors.toList());
    
    int n = 490;
    
    int c = list.stream()
                .min(Comparator.comparingInt(i -> Math.abs(i - n)))
                .orElseThrow(() -> new NoSuchElementException("No value present"));
    

    Initially, you can use a List instead of an Array (lists have much more functionality).

提交回复
热议问题