我有两个值(value)观。一个是静态的,等于 24
int A = 24;
我有条目列表:
[0, 21, 45, 76, 98]
所有出现都在循环中,我想得到最接近的值,它除以 A :
0 - 24
21 - 24
45 - 48
76 - 72
98 - 96
这个怎么计算?
最佳答案
使用 java8,您可以流式传输数组或列表并映射它
public static void main(String[] args) {
int a = 24;
List<Integer> mL = Arrays.asList(0, 21, 45, 76, 98);
Map<Integer, Integer> m = mL.stream().collect(Collectors.toMap(Integer::intValue, x -> {
int r = a * (int) Math.round(x / (double) a);
return r == 0 ? a : r;
}));
System.out.println(m);
}
输出将是一个映射,其中键是要分析的值,值是最接近它的增量
{0=24, 98=96, 21=24, 76=72, 45=48}
关于java - 找到最接近确定的乘积值的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47659754/