Array<String>中按照字符串转为整数的大小排序
时间: 2024-02-21 19:57:45 浏览: 10
可以使用Java中的Arrays.sort方法和自定义比较器来实现按照字符串转为整数的大小排序。具体代码如下:
```
import java.util.*;
import java.lang.*;
public class Main {
public static void main(String[] args) {
String[] arr = {"10", "2", "31", "45", "6", "7", "8", "9"};
Arrays.sort(arr, new Comparator<String>() {
public int compare(String s1, String s2) {
int i1 = Integer.parseInt(s1);
int i2 = Integer.parseInt(s2);
return i1 - i2;
}
});
System.out.println(Arrays.toString(arr));
}
}
```
输出结果为:[2, 6, 7, 8, 9, 10, 31, 45]
相关问题
Array<String>中按照字符串转为整数的大小排序,使用kotlin
同样可以使用Kotlin中的sortedWith方法和自定义比较器来实现按照字符串转为整数的大小排序。具体代码如下:
```
fun main() {
val arr = arrayOf("10", "2", "31", "45", "6", "7", "8", "9")
val sortedArr = arr.sortedWith(Comparator { s1, s2 ->
val i1 = s1.toInt()
val i2 = s2.toInt()
i1 - i2
})
println(sortedArr.contentToString())
}
```
输出结果为:[2, 6, 7, 8, 9, 10, 31, 45]
ARRAY<STRING> 转化成 ARRAY<LONG>
如果你有一个 `ARRAY<STRING>` 类型的数组,你可以使用 Hive 内置函数 `CAST()` 将其转换为 `ARRAY<LONG>` 类型的数组。例如:
```
SELECT CAST(my_string_array AS ARRAY<LONG>) AS my_long_array FROM my_table;
```
这将返回一个 `my_long_array` 列,其中每个元素都是一个整数类型的值,对应于 `my_string_array` 中的每个字符串。请注意,如果 `my_string_array` 中有任何无法转换为整数的字符串,将会返回 NULL 值。
另外,如果你需要将 `ARRAY<STRING>` 转换为 `ARRAY<INT>` 或 `ARRAY<DOUBLE>`,只需要将函数中的 `LONG` 替换为 `INT` 或 `DOUBLE` 即可。