用java写一个版本号list,从大到小排序
时间: 2023-06-25 22:07:21 浏览: 189
可以使用Java的Collections.sort()方法来对版本号list进行排序。首先需要定义一个Comparator来比较版本号大小,然后再调用Collections.sort()方法进行排序。
下面是一个示例代码:
```java
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class VersionNumberSorter {
public static void main(String[] args) {
List<String> versions = new ArrayList<>();
versions.add("1.0.0");
versions.add("1.2.3");
versions.add("2.0");
versions.add("1.2.4");
versions.add("1.10.2");
Collections.sort(versions, new Comparator<String>() {
@Override
public int compare(String v1, String v2) {
String[] arr1 = v1.split("\\.");
String[] arr2 = v2.split("\\.");
int i = 0;
while (i < arr1.length && i < arr2.length) {
int cmp = Integer.compare(Integer.parseInt(arr2[i]), Integer.parseInt(arr1[i]));
if (cmp != 0) {
return cmp;
}
i++;
}
return Integer.compare(arr2.length, arr1.length);
}
});
for (String version : versions) {
System.out.println(version);
}
}
}
```
输出结果为:
```
2.0
1.10.2
1.2.4
1.2.3
1.0.0
```
该示例代码中,我们使用了Java的split()方法将版本号按照"."进行分割,然后比较每个部分的大小,从而实现版本号的排序。注意,该示例代码中只考虑了数字部分的比较,如果版本号中包含非数字字符,还需要进行额外的处理。
阅读全文