<s id="2e0qm"><div id="2e0qm"></div></s>
<div id="2e0qm"><button id="2e0qm"></button></div>
<small id="2e0qm"></small>
<div id="2e0qm"></div>
<div id="2e0qm"><s id="2e0qm"></s></div>
<div id="2e0qm"><button id="2e0qm"></button></div>
主頁 > 知識庫 > 網絡編程 > JSP/Java >

JAVA基礎 之 Map

來源:中國IT實驗室 作者:佚名 發表于:2013-07-17 14:19  點擊:
概述: 1.鍵值對,key-value,具有映射關系的數據 2.Map的key不允許重復,value可以重復 3.Map里的key類似一個Set,甚至可以通過map.keySet()拿到key的Set集合 4.Map里的value類似一個List,只不過索引不再是數字,而是任意類型 5.相關類:HashMap、Hashtable
概述:
    1.鍵值對,key-value,具有映射關系的數據
    2.Map的key不允許重復,value可以重復
    3.Map里的key類似一個Set,甚至可以通過map.keySet()拿到key的Set集合
    4.Map里的value類似一個List,只不過索引不再是數字,而是任意類型
    5.相關類:HashMap、Hashtable(t就是小寫 不是寫錯了~)、LinkedHashMap、Properties、TreeMap
    6.HashMap和Hashtable
    1.HashMap(線程不安全)、Hashtable(線程安全),所以不考慮同步問題的時候HashMap性能好些
    2.Hashtable不允許null,HashMap key-value 均允許null的存在
    7.LinkedHashMap遍歷順序與插入順序一致,而HashMap不能保證順序(不是按照添加先后遍歷的)
    8.Properties用來讀取屬性文件的類,它繼承自Hashtable
    9.TreeMap的操作類似TreeSet 請參見《JAVA基礎 之 Set》一文,活參看java api,這里不再贅述
    [java]
    package com.cxy.collection;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.util.Collection;
    import java.util.Comparator;
    import java.util.HashMap;
    import java.util.Map;
    import java.util.Properties;
    import java.util.Set;
    import java.util.TreeMap;
    /**
    * @author cxy
    */
    public class MapTest
    {
    public static void main(String[] args) throws Exception
    {
    Map<String,String> m=new HashMap();
    m.put("姓名", "cxy");
    m.put("性別", "男");
    m.put("郵箱", "163@163.com");  //當key不存在于Map的時候put方法可以看作是新增
    m.put("郵箱", "cxyapi@163.com");  //當key存在于Map的時候put方法可以看作是更新
    m.put(null, null); //HashMap key-value 均允許null的存在
    System.out.println(m);
    System.out.println("============================");
    System.out.println("m的key中是否包含'姓名'? 答:"+m.containsKey("姓名"));
    System.out.println("m的value中是否包含'女'? 答:"+m.containsValue("女"));
    System.out.println("郵箱是:"+m.get("郵箱")); //使用get方法通過key找到value
    System.out.println("m是否為空?答:"+m.isEmpty());
    System.out.println("m大小?答:"+m.size());
    System.out.println("============================");
    //通過keySet方法取到Map對象的key的Set集合
    Set<String> ms=m.keySet();
    System.out.print("m的鍵(key)有:");
    for(String one :ms)
    {
    System.out.print(one+"  ");
    }
    System.out.println("");  //保持格式無實際用處
    System.out.println("============================");
    m.put("描述", "性別男,愛好女");
    System.out.println(m);
    m.remove("描述");  //通過key刪除對應的鍵值對
    m.remove(null);
    System.out.println(m);
    System.out.println("============================");
    Collection<String> vs= m.values();
    System.out.print("m的值(value)有:");
    for(String one :vs)
    {
    System.out.print(one+"  ");
    }
    System.out.println("");  //保持格式無實際用處
    System.out.println("============================");
    m.clear(); //清空數據
    System.out.println(m);
    System.out.println("============================");
    Properties p=new Properties();
    p.setProperty("username", "cxy");
    p.setProperty("password", "123");
    p.store(new FileOutputStream("d://cxytest.ini"), "機密");  //將屬性寫入ini文件,注釋是機密
    //創建另一個Properties對象去加載剛才生成的ini文件
    Properties p1=new Properties();
    p1.load(new FileInputStream("d://cxytest.ini"));
    System.out.println(p1);
    System.out.println("============================");
    TreeMap tm = new TreeMap();
    tm.put("b", "234");
    tm.put("a", "123");
    tm.put("c", "456");
    System.out.println(tm);
    System.out.println("============================");
    }
    }

    有幫助
    (0)
    0%
    沒幫助
    (0)
    0%
    真人女荫道口100种图片
    <s id="2e0qm"><div id="2e0qm"></div></s>
    <div id="2e0qm"><button id="2e0qm"></button></div>
    <small id="2e0qm"></small>
    <div id="2e0qm"></div>
    <div id="2e0qm"><s id="2e0qm"></s></div>
    <div id="2e0qm"><button id="2e0qm"></button></div>