java 无序数字,转成连号代码
时间: 2024-05-06 07:22:08 浏览: 87
java代码规范1
以下是将无序数字转换为连续数字的 Java 代码:
```java
import java.util.*;
public class Main {
public static void main(String[] args) {
int[] arr = {4, 2, 7, 5, 9, 1, 3, 8, 6};
Set<Integer> set = new HashSet<>();
for (int num : arr) {
set.add(num);
}
List<Integer> list = new ArrayList<>(set);
Collections.sort(list);
int start = list.get(0);
int end = start;
for (int i = 1; i < list.size(); i++) {
int num = list.get(i);
if (num == end + 1) {
end = num;
} else {
System.out.println(start + "-" + end);
start = num;
end = num;
}
}
System.out.println(start + "-" + end);
}
}
```
该代码使用了 Set 和 List 这两个集合类,将无序数字转换为有序数字,然后依次遍历数字,将连续的数字合并成一个区间,最终输出所有区间。例如,对于输入数组 {4, 2, 7, 5, 9, 1, 3, 8, 6},输出结果为:
```
1-5
7-9
```
阅读全文