1. 程式人生 > >【Java-24】Java容器使用之Map類

【Java-24】Java容器使用之Map類

什麼是容器,有什麼作用

在面向物件程式設計中所有實體我們都抽象為一個類,一個類可以理解為我們自定義的一種資料型別,天下間無數種實體那麼就有無數種類,故也就有無數種資料型別。在基本資料型別中,我們常常使用陣列來儲存管理使用資料,但是現在有那麼多資料型別陣列明顯不夠用了,於是發明了容器的概念,這個容器是一個封裝的類,裡面實際上還是陣列,但是這個陣列資料型別是object型別,也就是說可以儲存任意我們自定義資料型別,且容器還有個優勢是可以動態增刪元素,不必關係是否空間不足而越界,有點像順序表

 

常用容器有List類及其子類LinkedList類List類及其子類ArrayList

,本節學習Map類

 

Map類不同於之前兩種常用容器:陣列型容器ArrayList與連結串列型容器LinkedList,Map容器內每個結點包含兩個不同型別的資料,資料都是成對出現的,一般分別用key與value表示,初始化時候兩個值一同放到結點中,而查詢時候可以通過ke值查詢到value值

 

package bao_1;

import java.util.HashMap;
import java.util.Map;

public class myMap {

	public static void main(String[] args) {
		//建立Map物件
		Map map = new HashMap();

		student s1 = new student("小剛", 12);
		student s2 = new student("小明", 16);
		student s3 = new student("小華", 14);
		student s4 = new student("小強", 12);
		
		//往容器中放東西
		map.put(s1, new teacher("周老師"));
		map.put(s2, new teacher("李老師"));
		map.put(s3, new teacher("張老師"));
		map.put(s4, new teacher("王老師"));

		// 查詢
		teacher Teacher = (teacher) map.get(s2);
		System.out.println(Teacher.name);
		
		
		//移除
		boolean a= map.containsKey(s1);
		System.out.println(a);
	}

}

/**
 * 學生類
 * @author 慧天地
 *
 */
class student {

	String name;
	int id;

	public student(String name, int id) {
		this.id = id;
		this.name = name;
	}

	public void func() {

	}
}

/**
 * 老師類
 * @author 慧天地
 *
 */
class teacher {

	String name;
	int id;

	public teacher(String name) {
		this.name = name;
	}

	public void func() {

	}
}