💥 该系列属于【Java基础编程500题】专栏,如您需查看Java基础的其他相关题目,请您点击左边的连接
目录
1. 创建一个HashMap,存储5个学生的姓名和年龄,然后查询并输出指定学生的年龄。
2. 创建一个LinkedHashMap,存储5个水果名称和价格,然后按照插入顺序输出所有水果名称。
3. 创建一个TreeMap,存储5个城市的名称和人口数量,然后按照城市名称的自然顺序输出所有城市名称。
4. 给定一个字符串,使用HashMap统计每个字符出现的次数,并输出结果。
5. 创建一个TreeMap,存储5个学生的姓名和成绩,成绩作为键,姓名作为值。然后按照成绩从高到低输出所有学生的姓名。
6. 创建一个HashMap,存储一些学生的姓名和成绩,然后删除成绩低于60分的学生记录,并输出剩余的学生信息。
7. 给定一个HashMap和一个值,判断该值是否在HashMap中存在。
8. 给定一个存储整数的HashMap,找出其中的最大值和最小值,并输出。
9. 给定两个HashMap,合并它们,如果键相同,则将值相加。
11. 编写一个Java程序,将HashMap中所有值为特定值的条目替换为新值。
12. 编写一个Java程序,将HashMap中的键和值进行反转,即原来的值成为键,原来的键成为值。
13. 编写一个Java程序,移除HashMap中所有偶数值。
14. 编写一个Java程序,使用HashMap实现一个简单的投票系统,记录候选人的得票数,并输出得票最多的候选人。
✨✨ 返回题目目录 ✨ ✨
1. 创建一个HashMap,存储5个学生的姓名和年龄,然后查询并输出指定学生的年龄。
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
HashMap<String, Integer> students = new HashMap<>();
students.put("张三", 20);
students.put("李四", 21);
students.put("王五", 22);
students.put("赵六", 23);
students.put("钱七", 24);
String name = "王五";
if (students.containsKey(name)) {
System.out.println(name + "的年龄是:" + students.get(name));
} else {
System.out.println("没有找到该学生信息");
}
}
}
2. 创建一个LinkedHashMap,存储5个水果名称和价格,然后按照插入顺序输出所有水果名称。
import java.util.LinkedHashMap;
public class Main {
public static void main(String[] args) {
LinkedHashMap<String, Double> fruits = new LinkedHashMap<>();
fruits.put("苹果", 5.5);
fruits.put("香蕉", 3.2);
fruits.put("橙子", 4.0);
fruits.put("梨", 2.8);
fruits.put("葡萄", 6.0);
for (String fruit : fruits.keySet()) {
System.out.println(fruit);
}
}
}
3. 创建一个TreeMap,存储5个城市的名称和人口数量,然后按照城市名称的自然顺序输出所有城市名称。
import java.util.TreeMap;
public class Main {
public static void main(String[] args) {
TreeMap<String, Integer> cities = new TreeMap<>();
cities.put("Beijing", 21540000);
cities.put("Shanghai", 24240000);
cities.put("Guangzhou", 15000000);
cities.put("Shenzhen", 13000000);
cities.put("Chengdu", 16500000);
for (String city : cities.keySet()) {
System.out.println(city);
}
}
}
4. 给定一个字符串,使用HashMap统计每个字符出现的次数,并输出结果。
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
String str = "abracadabra";
HashMap<Character, Integer> charCount = new HashMap<>();
for (char ch : str.toCharArray()) {
charCount.put(ch, charCount.getOrDefault(ch, 0) + 1);
}
for (Character ch : charCount.keySet()) {
System.out.println(ch + "出现了" + charCount.get(ch) + "次");
}
}
}
5. 创建一个TreeMap,存储5个学生的姓名和成绩,成绩作为键,姓名作为值。然后按照成绩从高到低输出所有学生的姓名。
import java.util.TreeMap;
public class Main {
public static void main(String[] args) {
TreeMap<Double, String> scores = new TreeMap<>((a, b) -> b.compareTo(a)); // 降序排列
scores.put(90.0, "张三");
scores.put(85.5, "李四");
scores.put(92.0, "王五");
scores.put(88.0, "赵六");
scores.put(78.5, "钱七");
for (String name : scores.values()) {
System.out.println(name);
}
}
}
6. 创建一个HashMap,存储一些学生的姓名和成绩,然后删除成绩低于60分的学生记录,并输出剩余的学生信息。
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
HashMap<String, Integer> students = new HashMap<>();
students.put("张三", 58);
students.put("李四", 90);
students.put("王五", 70);
students.put("赵六", 55);
// 删除成绩低于60分的学生
students.entrySet().removeIf(entry -> entry.getValue() < 60);
for (Map.Entry<String, Integer> entry : students.entrySet()) {
System.out.println(entry.getKey() + "的成绩是:" + entry.getValue());
}
}
}
7. 给定一个HashMap和一个值,判断该值是否在HashMap中存在。
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
HashMap<String, String> map = new HashMap<>();
map.put("A", "Apple");
map.put("B", "Banana");
map.put("C", "Cherry");
String valueToFind = "Banana";
if (map.containsValue(valueToFind)) {
System.out.println("HashMap中存在值:" + valueToFind);
} else {
System.out.println("HashMap中不存在值:" + valueToFind);
}
}
}
8. 给定一个存储整数的HashMap,找出其中的最大值和最小值,并输出。
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
HashMap<String, Integer> numbers = new HashMap<>();
numbers.put("one", 1);
numbers.put("two", 2);
numbers.put("three", 3);
numbers.put("four", 4);
numbers.put("five", 5);
int max = Integer.MIN_VALUE;
int min = Integer.MAX_VALUE;
for (int value : numbers.values()) {
if (value > max) {
max = value;
}
if (value < min) {
min = value;
}
}
System.out.println("最大值是:" + max);
System.out.println("最小值是:" + min);
}
}
9. 给定两个HashMap,合并它们,如果键相同,则将值相加。
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
HashMap<String, Integer> map1 = new HashMap<>();
map1.put("A", 1);
map1.put("B", 2);
map1.put("C", 3);
HashMap<String, Integer> map2 = new HashMap<>();
map2.put("B", 3);
map2.put("C", 4);
map2.put("D", 5);
HashMap<String, Integer> mergedMap = new HashMap<>(map1);
map2.forEach((key, value) -> mergedMap.merge(key, value, Integer::sum));
System.out.println("合并后的HashMap:" + mergedMap);
}
}
10. 编写一个Java程序,实现HashMap的深拷贝。
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
HashMap<Integer, String> originalMap = new HashMap<>();
originalMap.put(1, "One");
originalMap.put(2, "Two");
originalMap.put(3, "Three");
HashMap<Integer, String> copiedMap = new HashMap<>(originalMap);
System.out.println("原始HashMap:" + originalMap);
System.out.println("复制后的HashMap:" + copiedMap);
}
}
11. 编写一个Java程序,将HashMap中所有值为特定值的条目替换为新值。
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
HashMap<String, String> map = new HashMap<>();
map.put("A", "Apple");
map.put("B", "Banana");
map.put("C", "Cherry");
String oldValue = "Banana";
String newValue = "Berry";
map.replaceAll((key, value) -> value.equals(oldValue) ? newValue : value);
System.out.println("替换特定值后的HashMap:" + map);
}
}
12. 编写一个Java程序,将HashMap中的键和值进行反转,即原来的值成为键,原来的键成为值。
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
HashMap<String, Integer> originalMap = new HashMap<>();
originalMap.put("One", 1);
originalMap.put("Two", 2);
originalMap.put("Three", 3);
HashMap<Integer, String> reversedMap = new HashMap<>();
originalMap.forEach((key, value) -> reversedMap.put(value, key));
System.out.println("反转后的HashMap:" + reversedMap);
}
}
13. 编写一个Java程序,移除HashMap中所有偶数值。
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
HashMap<String, Integer> numbers = new HashMap<>();
numbers.put("A", 1);
numbers.put("B", 2);
numbers.put("C", 3);
numbers.put("D", 4);
numbers.values().removeIf(v -> v % 2 == 0);
System.out.println("移除偶数值后的HashMap:" + numbers);
}
}
14. 编写一个Java程序,使用HashMap实现一个简单的投票系统,记录候选人的得票数,并输出得票最多的候选人。
import java.util.HashMap;
import java.util.Map;
public class Main {
public static void main(String[] args) {
HashMap<String, Integer> votes = new HashMap<>();
votes.put("候选人1", 0);
votes.put("候选人2", 0);
votes.put("候选人3", 0);
// 模拟投票过程
vote("候选人1", votes);
vote("候选人2", votes);
vote("候选人1", votes);
vote("候选人3", votes);
vote("候选人2", votes);
vote("候选人3", votes);
// 找出得票最多的候选人
String winner = "";
int maxVotes = 0;
for (Map.Entry<String, Integer> entry : votes.entrySet()) {
if (entry.getValue() > maxVotes) {
maxVotes = entry.getValue();
winner = entry.getKey();
}
}
System.out.println("得票最多的候选人:" + winner + ",得票数:" + maxVotes);
}
private static void vote(String candidate, HashMap<String, Integer> votes) {
votes.put(candidate, votes.get(candidate) + 1);
}
}