package seday13; import java.util.HashMap; import java.util.Map; /** * @author xingsir * java.util.Map 查找表,Map是java中非常經典的數據結構之一 * Map的結構看起來像是一個多行兩列的表格,其中左列稱為:Key,右列稱為:Value * Map總是以Key-Value對的形式保存數據的。並且Map提供了根據Key獲取其對應的Value的查找方法。 * Map有一個要求:Key是不允許重復的(Key的equals方法決定) * 常用實現類:java.util.HashMap * HashMap稱為散列表或哈希表,使用散列算法實現的Map,是當今世界上查詢速度最快的數據結構。其查詢速度不受數據量影響,現如今所有網站的緩存都是用HashMap來實現。 */ public class MapDemo { public static void main(String[] args) { Map<String,Integer> map=new HashMap<>(); /* * V put(K k,V v) * 將給定的key,value對保存到Map中若給定的Key在當前Map中已經存在,則是替換value * 操作,那么返回值就是原K“ey對應的Value否則返回值為null */ Integer num=map.put("JAVA",99); System.out.println(num); map.put("C#", 98); map.put("C++", 97); map.put("PYTHON", 96); map.put("ORACLE", 99); System.out.println(map); num = map.put("JAVA", 89); //num = map.put("JAVA", 89); System.out.println(map); System.out.println(num); /* * V get(Object key) * 根據給定的key獲取對應的value,若給定的key在,Map中不存在,則返回值為null。 */ num =map.get("C#"); System.out.println("C#:"+num); num=map.get("C++"); System.out.println("C++:"+num); //獲取集合總條數 int size=map.size(); System.out.println("size:"+size); /* * V remove(Object key) * 刪除給定的key所對應的鍵值對,返回值為該key對應的value。 */ num = map.remove("ORACLE"); System.out.println(map); /* * boolean containsKey(Object key) * boolean containsValue(Object value) * 判斷當前Map是否包含給定的key或value,是否包含還是依據元素自身equals比較的結果 */ boolean ck=map.containsKey("PYTHON"); System.out.println("包含key:"+ck); boolean cv =map.containsValue("99"); System.out.println("包含Value:"+ck); } }