java map集合编程题
时间: 2024-05-29 07:08:01 浏览: 132
Java中的Map是一种用于存储键值对的集合,可以通过key来快速定位value。以下是一个Java Map编程题的示例:
题目描述:
给定一个字符串数组,其中每个字符串代表一种水果,要求统计每种水果出现的次数,并按出现次数从高到低排序输出。
示例输入:
["apple", "banana", "orange", "apple", "banana", "apple"]
示例输出:
apple: 3
banana: 2
orange: 1
解题思路:
1. 首先创建一个HashMap<String, Integer>对象,用于存储每种水果出现的次数。
2. 遍历输入的字符串数组,对于每个字符串,判断HashMap中是否已经存在该种水果,若存在,则将该水果对应的值加1,否则将该水果加入HashMap,并将其对应的值设为1。
3. 将HashMap中的键值对按照值从高到低排序,并输出结果。
参考代码:
```
import java.util.*;
public class FruitCount {
public static void main(String[] args) {
String[] fruits = {"apple", "banana", "orange", "apple", "banana", "apple"};
Map<String, Integer> map = new HashMap<>();
for (String fruit : fruits) {
if (map.containsKey(fruit)) {
map.put(fruit, map.get(fruit) + 1);
} else {
map.put(fruit, 1);
}
}
List<Map.Entry<String, Integer>> list = new ArrayList<>(map.entrySet());
Collections.sort(list, new Comparator<Map.Entry<String, Integer>>() {
public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) {
return o2.getValue() - o1.getValue();
}
});
for (Map.Entry<String, Integer> entry : list) {
System.out.println(entry.getKey() + ": " + entry.getValue());
}
}
}
```
阅读全文
相关推荐














