java实现集合真排名
时间: 2023-08-16 14:06:27 浏览: 55
Java中的集合类通常是无序的,因此不能直接获得真实排名。但是,你可以使用Java8中的Stream API对集合进行排序,并创建一个Map来存储每个元素的排名。以下是一个示例代码:
```java
import java.util.*;
import java.util.stream.Collectors;
public class RankedList {
public static void main(String[] args) {
List<Integer> list = Arrays.asList(5, 8, 2, 1, 9, 4, 3, 6, 7);
// Sort the list in descending order
List<Integer> sortedList = list.stream()
.sorted(Comparator.reverseOrder())
.collect(Collectors.toList());
// Create a map of element and its rank
Map<Integer, Integer> rankMap = new HashMap<>();
for (int i = 0; i < sortedList.size(); i++) {
rankMap.put(sortedList.get(i), i+1);
}
// Print the rank of each element
for (int element : list) {
System.out.println("Element " + element + " has rank " + rankMap.get(element));
}
}
}
```
输出:
```
Element 5 has rank 5
Element 8 has rank 2
Element 2 has rank 8
Element 1 has rank 9
Element 9 has rank 1
Element 4 has rank 6
Element 3 has rank 7
Element 6 has rank 4
Element 7 has rank 3
```
在这个示例中,我们首先使用Stream API对列表进行排序。然后,我们创建一个Map,其中键是元素,值是它们的排名。最后,我们遍历原始列表并在Map中查找元素的排名。
相关推荐
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)