对List<Integer>类型的集合进行降序排序
时间: 2024-03-20 17:38:36 浏览: 22
可以使用Collections.reverseOrder()方法和Collections.sort()方法对List<Integer>类型的集合进行降序排序。具体实现如下:
```java
List<Integer> list = new ArrayList<Integer>();
list.add(3);
list.add(1);
list.add(5);
list.add(2);
Collections.sort(list, Collections.reverseOrder());
System.out.println("降序排序后的集合为:");
for (Integer i : list) {
System.out.print(i + " ");
}
```
输出结果为:
```
降序排序后的集合为:
5 3 2 1
```
在以上代码中,我们首先创建了一个List<Integer>类型的集合,并向其中添加了四个元素。然后使用Collections.sort()方法对集合进行排序,其中第二个参数使用了Collections.reverseOrder()方法,表示对集合进行降序排序。最后使用for循环输出排序后的集合。
相关问题
在java中,定义一个Map<String, Integer>,由键值进行降序排序,最后由结果的键生成一个List<String>
可以使用Java 8的Stream API和Comparator来实现该功能,具体代码如下:
```java
import java.util.*;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
Map<String, Integer> map = new HashMap<>();
map.put("a", 3);
map.put("b", 1);
map.put("c", 2);
List<String> result = map.entrySet()
.stream()
.sorted(Collections.reverseOrder(Map.Entry.comparingByValue()))
.map(Map.Entry::getKey)
.collect(Collectors.toList());
System.out.println(result); // 输出 [a, c, b]
}
}
```
首先使用`entrySet()`方法将Map中的键值对转换为Set集合,再通过`stream()`方法将集合转换为流。然后调用`sorted()`方法,传入一个降序排列的比较器,即`Collections.reverseOrder(Map.Entry.comparingByValue())`,根据值进行降序排序。之后调用`map()`方法,将每个Entry对象转换为其键,最后使用`collect()`方法将结果转换为List集合。
对英文文本单词统计并对单词次数进行降序排序的java代码怎么写
以下是一个简单的Java程序,可以对输入的文本进行单词统计并按照单词出现次数进行降序排序:
```java
import java.util.*;
public class WordCount {
public static void main(String[] args) {
// 读取输入文本
Scanner scanner = new Scanner(System.in);
String text = scanner.nextLine();
// 将文本转换为单词数组
String[] words = text.toLowerCase().split(" ");
// 统计单词出现次数
Map<String, Integer> wordCount = new HashMap<>();
for (String word : words) {
if (wordCount.containsKey(word)) {
wordCount.put(word, wordCount.get(word) + 1);
} else {
wordCount.put(word, 1);
}
}
// 对单词按照出现次数进行降序排序
List<Map.Entry<String, Integer>> sortedWords = new ArrayList<>(wordCount.entrySet());
Collections.sort(sortedWords, new Comparator<Map.Entry<String, Integer>>() {
public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) {
return o2.getValue().compareTo(o1.getValue());
}
});
// 输出结果
for (Map.Entry<String, Integer> entry : sortedWords) {
System.out.println(entry.getKey() + " : " + entry.getValue());
}
}
}
```
这个程序使用了Java的Map和List集合来实现单词统计和排序。其中,Map用于存储单词出现次数,List用于对单词按照出现次数进行排序。在排序时,我们使用了Java的Comparator接口来定义排序规则。最后,程序将排序后的结果输出到控制台。