gpt4 book ai didi

java - 在字符串数组中查找最大整数的最佳方法?

转载 作者:搜寻专家 更新时间:2023-11-01 02:24:04 25 4
gpt4 key购买 nike

String[] array = new String[] {"1", "2", "3", "25"};

我想找到该字符串中的最大数字并将其作为 integer 返回。

最好的方法是什么,尤其是在性能方面,因为我必须用它解析几百万行?

我能想到的两种解决方案:

Arrays.stream(array).mapToInt(Integer::parseInt).max().orElse(0);
Integer.valueOf(Collections.max(Arrays.asList(array))); //.max returns 0 when empty array

最佳答案

假设以 String 形式呈现的整数都是非负数且没有尾随零,则您不需要在搜索过程中解析它们。使用自定义比较器,它首先按长度比较字符串,然后按值比较:

import static java.util.Comparator.*;
//...

String[] s = {"1", "2", "3", "25"};
Optional<String> max = Stream.of(s).max(comparingInt(String::length).thenComparing(naturalOrder()));
int maxInt = Integer.parseInt(max.get());

关于java - 在字符串数组中查找最大整数的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30048442/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com