java源碼示例展示:
package map;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;
/**
* 使用linkedhashmap 效果最好
* 存儲學生對象,還要輸出 使用 遍歷輸出
* @author superdrew
*/
public class TestMapStudent {
public static void main(String[] args) {
//創建 存儲stu的 map key 是 int id value 是具體的每一個學生
Map<Integer,Student> stuMap = new LinkedHashMap<Integer,Student>();
//創建學生對象
Student stu1 = new Student(1001, "Drew", 89, 21);
Student stu2 = new Student(2002, "SuperDrew", 99, 20);
Student stu3 = new Student(3003, "Lily", 100, 25);
Student stu4 = new Student(4004, "Mark", 78, 22);
Student stu5 = new Student(5005, "Bob", 88, 21);
//把學生對象放入 到 map集合
stuMap.put(stu1.getId(), stu1);
stuMap.put(stu2.getId(), stu2);
stuMap.put(stu3.getId(), stu3);
stuMap.put(stu4.getId(), stu4);
stuMap.put(stu5.getId(), stu5);
//根據輸入的具體學號 返回一個具體的學生信息
@SuppressWarnings("resource")
Scanner sc = new Scanner(System.in);
System.out.println("請輸入要查找的學號:");
int id = sc.nextInt();
Student stuObject = stuMap.get(id);
System.out.println(stuObject);
//遍歷map集合輸出---錯誤提示:map集合的三種遍歷輸出方式,請看我的上一篇blogs。
/*for(int i=1;i<=stuMap.size();i++){
System.out.println(stuMap.get(i));
}*/
/*小結:輸出全部為NULL,說明遍歷map集合的時候不能簡單的使用for i遍歷。*/
//獲取 stuMap所有的key
System.out.println("所有的學生信息如下:");
Set<Integer> stuSet = stuMap.keySet();
for(int stuId:stuSet){
System.out.println(stuMap.get(stuId));
}
}
}
實體類Student.java:
1 package map;
2 /**
3 * 學生類
4 * @author superdrew
5 *
6 */
7 public class Student {
8 private int id;
9 private String name;
10 private double score;
11 private int age;
12
13 public int getId() {
14 return id;
15 }
16 public void setId(int id) {
17 this.id = id;
18 }
19 public String getName() {
20 return name;
21 }
22 public void setName(String name) {
23 this.name = name;
24 }
25 public double getScore() {
26 return score;
27 }
28 public void setScore(double score) {
29 this.score = score;
30 }
31 public int getAge() {
32 return age;
33 }
34 public void setAge(int age) {
35 this.age = age;
36 }
37
38 public Student(int id, String name, double score, int age) {
39 super();
40 this.id = id;
41 this.name = name;
42 this.score = score;
43 this.age = age;
44 }
45 @Override
46 public String toString() {
47 return "Student [id=" + id + ", name=" + name + ", score=" + score + ", age=" + age + "]";
48 }
49 }
實體類Student.java
結果展示:
