hashmap中的keyset和entryset
时间: 2023-04-19 21:02:12 浏览: 135
HashMap 中的 KeySet 和 EntrySet 都是用于访问 HashMap 中所有键-值对的方法。
KeySet 是一个 Set 集合,包含了 HashMap 中所有的键,您可以通过遍历这个 Set 集合来访问所有的键。
EntrySet 是一个 Set 集合,包含了 HashMap 中所有的键-值对,您可以通过遍历这个 Set 集合来访问所有的键-值对。
通过使用 EntrySet 可以更方便地访问 HashMap 中的键-值对,因为您可以同时访问键和值。
相关问题
创建一个Map对象要求员工类:编号 姓名 工资 用来存储员工数据 key是员工编号 value是员工对象map要用泛型 map添加3对值 用keyset和Entryset输出
以下是Java代码实现:
```java
import java.util.*;
public class Employee {
private int id;
private String name;
private double salary;
public Employee(int id, String name, double salary) {
this.id = id;
this.name = name;
this.salary = salary;
}
public int getId() {
return id;
}
public String getName() {
return name;
}
public double getSalary() {
return salary;
}
@Override
public String toString() {
return "Employee{" +
"id=" + id +
", name='" + name + '\'' +
", salary=" + salary +
'}';
}
public static void main(String[] args) {
Map<Integer, Employee> employeeMap = new HashMap<>();
employeeMap.put(1001, new Employee(1001, "Alice", 5000));
employeeMap.put(1002, new Employee(1002, "Bob", 6000));
employeeMap.put(1003, new Employee(1003, "Charlie", 7000));
// 使用 keySet() 方法遍历 Map
System.out.println("使用 keySet() 方法遍历 Map:");
Set<Integer> keySet = employeeMap.keySet();
for (int id : keySet) {
System.out.println(employeeMap.get(id));
}
// 使用 entrySet() 方法遍历 Map
System.out.println("使用 entrySet() 方法遍历 Map:");
Set<Map.Entry<Integer, Employee>> entrySet = employeeMap.entrySet();
for (Map.Entry<Integer, Employee> entry : entrySet) {
System.out.println(entry.getValue());
}
}
}
```
输出结果为:
```
使用 keySet() 方法遍历 Map:
Employee{id=1001, name='Alice', salary=5000.0}
Employee{id=1002, name='Bob', salary=6000.0}
Employee{id=1003, name='Charlie', salary=7000.0}
使用 entrySet() 方法遍历 Map:
Employee{id=1001, name='Alice', salary=5000.0}
Employee{id=1002, name='Bob', salary=6000.0}
Employee{id=1003, name='Charlie', salary=7000.0}
```
将同宿舍中的床号、姓名放到HashMap对象中,注意用泛型定义,再利用keySet()、entrySet()两种方法来输出床号、姓名;利用values()来输出同学姓名(这种不输出床号)要求自己的姓名放在第一个位置。java语音用idea运行代码
好的,下面是代码实现:
```java
import java.util.HashMap;
import java.util.Map;
public class Main {
public static void main(String[] args) {
Map<Integer, String> dormitory = new HashMap<>();
dormitory.put(1, "张三");
dormitory.put(2, "李四");
dormitory.put(3, "王五");
dormitory.put(4, "赵六");
// 通过keySet()方法遍历Map对象,输出床号、姓名
System.out.println("通过keySet()方法遍历Map对象,输出床号、姓名:");
for (Integer bedNo : dormitory.keySet()) {
System.out.println("床号:" + bedNo + ",姓名:" + dormitory.get(bedNo));
}
// 通过entrySet()方法遍历Map对象,输出床号、姓名
System.out.println("\n通过entrySet()方法遍历Map对象,输出床号、姓名:");
for (Map.Entry<Integer, String> entry : dormitory.entrySet()) {
System.out.println("床号:" + entry.getKey() + ",姓名:" + entry.getValue());
}
// 通过values()方法遍历Map对象,输出同学姓名
System.out.println("\n通过values()方法遍历Map对象,输出同学姓名:");
for (String name : dormitory.values()) {
System.out.println(name);
}
}
}
```
其中,我们定义了一个 `HashMap` 对象 `dormitory`,用来存放同宿舍中的床号和姓名信息。然后,我们分别通过 `keySet()`、`entrySet()` 和 `values()` 方法来遍历 `dormitory` 对象,输出相应的信息。
运行结果如下:
```
通过keySet()方法遍历Map对象,输出床号、姓名:
床号:1,姓名:张三
床号:2,姓名:李四
床号:3,姓名:王五
床号:4,姓名:赵六
通过entrySet()方法遍历Map对象,输出床号、姓名:
床号:1,姓名:张三
床号:2,姓名:李四
床号:3,姓名:王五
床号:4,姓名:赵六
通过values()方法遍历Map对象,输出同学姓名:
张三
李四
王五
赵六
```
阅读全文