【Java-24】Java容器使用之Map類
阿新 • • 發佈:2019-01-12
什麼是容器,有什麼作用
在面向物件程式設計中所有實體我們都抽象為一個類,一個類可以理解為我們自定義的一種資料型別,天下間無數種實體那麼就有無數種類,故也就有無數種資料型別。在基本資料型別中,我們常常使用陣列來儲存管理使用資料,但是現在有那麼多資料型別陣列明顯不夠用了,於是發明了容器的概念,這個容器是一個封裝的類,裡面實際上還是陣列,但是這個陣列資料型別是object型別,也就是說可以儲存任意我們自定義資料型別,且容器還有個優勢是可以動態增刪元素,不必關係是否空間不足而越界,有點像順序表
常用容器有List類及其子類LinkedList類、List類及其子類ArrayList
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() { } }