Java集合——Map介面

來源:互聯網
上載者:User

標籤:

1.定義

Map用於儲存存在映射關係<key,value>的資料.其中,key值不能重複(使用equals()方法比較),value值可以重複

2.方法

put(key,value):添加元素

get(Object key):擷取指定key的元素

keySet():返回指定對象key的集合

values():返回指定對象value的集合

remove(Object key):移除指定key的元素,並且返回對應值的引用

entrySet():返回映射中包含映射關係的視圖

3.常用實作類別

HashMap:和HashSet類似,鍵按鍵的HashCode()方法確定儲存位置,無序

TreeMap:用於對鍵進行排序,方式與TreeSet相同

LinkedHashMap:和LinkedHashSet類似

4.執行個體

import static org.junit.Assert.*;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import org.junit.Test;
import day8.Customer; 

     
public class TestMap {
    @Test
    public void testMapMethods(){
        Map m1=new HashMap();
        //put(key,value)添加元素
        m1.put("aa", new Customer(1,"AA"));
        m1.put("bb", new Customer(2,"BB"));
        m1.put("cc", new Customer(3,"CC"));
        m1.put("dd", new Customer(4,"DD"));
        System.out.println(m1.size());      
        Map m2=new HashMap();
        m2.put("aa", new Customer(1,"AA"));
        m2.put("bb", new Customer(2,"BB"));
        m2.put("cc", new Customer(3,"CC"));
        m2.put("dd", new Customer(4,"DD"));       
        Map<String,Object> m3=new HashMap();
        m3.put("aa", new Customer(1,"AA"));
        m3.put("bb", new Customer(2,"BB"));
        m3.put("cc", new Customer(3,"CC"));
        m3.put("dd", new Customer(4,"DD"));     
                    //比較兩對象是否相等時,重寫Object的equals()方法,如果索引值對完全相同,返回true.
        System.out.println(m1.equals(m2));    
                   //get(Object key)擷取指定key的元素
        System.out.println(m1.get("bb"));     
                  //keySet()返回指定對象key的集合
        Set keySet=m1.keySet();
        for(Object key:keySet){
            System.out.println(key);
        }      
                  //values()返回指定對象value的集合
        Collection value=m1.values();
        for(Object val:value){
            System.out.println(val);
        }
        System.out.println();      
               //遍曆操作
               //方法一:先得到鍵的集合,對鍵進行遍曆時得到值
        for(Object key:keySet){
            Object val=m1.get(key);
            System.out.println(key+" : "+val);
        }
        System.out.println();       
               //方法二:得到索引值對的集合
        for(Entry<String,Object> entry:m3.entrySet()){
            System.out.println(entry.getKey()+" : "+entry.getValue());
        }
        System.out.println();         
              //remove(Object key)移除指定key的元素,並且返回對應值的引用
        Object obj=m1.remove("aa");
        System.out.println(obj);
        System.out.println(m1.size());                
    }
}

涉及的完整代碼:http://www.cnblogs.com/jfl-xx/p/4707643.html

Java集合——Map介面

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.