码迷,mamicode.com
首页 > 编程语言 > 详细

java:容器/集合(Map(HashMap,TreeMap))

时间:2017-06-14 16:29:56      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:public   获取值   覆盖   通过   class   周杰伦   集合   容量   tree   

HashMap:

*Map接口:采用是键值对的方式存放数据。无序
*常见的实现类:
*--HashMap:基于哈希表的 Map 接口的实现。
*常用的构造方法:
* HashMap()构造一个具有默认初始容量 (16) 和默认加载因子 (0.75) 的空 HashMap。
* HashMap(int initialCapacity) 构造一个带指定初始容量和默认加载因子 (0.75) 的空 HashMap
*常用方法:
* put(K key, V value)在此映射中关联指定值与指定键。
* get(Object key) 返回指定键所映射的值;如果对于该键来说,此映射不包含任何映射关系,则返回 null。
* size() 返回此映射中的键-值映射关系数。
* remove(Object key) 从此映射中移除指定键的映射关系(如果存在)。
* clear() 从此映射中移除所有映射关系。
* containsKey(Object key) 如果此映射包含对于指定键的映射关系,则返回 true。
* containsValue(Object value) 如果此映射将一个或多个键映射到指定值,则返回 true。
*----LinkedHashMap
*--Hashtable
*--TreeMap

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

public class TestHashMap {
    public static void main(String[] args) {
        Map<String,String> map = new HashMap<String,String>();
        //向容器中添加元素:以键值对的方式进行存放.
        map.put("jack", "成龙");
        map.put("jay", "周杰伦");
        map.put("eason", "陈奕迅");//添加元素
        //取:
//        map.remove("eason");//通过key移除元素
        System.out.println("是否包含eason:"+map.containsKey("eason"));
        System.out.println("是否包含成龙:"+map.containsValue("成龙"));
        System.out.println("容器中总共有"+map.size()+"个键值对元素");
        String name = map.get("jack");//根据key获取元素的值
        System.out.println(name);
        String name2 = map.get("jay");
        System.out.println(name2);
        
        
        
    }
}

 HashMap取值的两种方法:

import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;

/**
 *Map的遍历 
 *    Set<K> keySet() 返回此映射中所包含的键的 Set 视图。 
 *  Set<Map.Entry<K,V>> entrySet() 返回此映射所包含的映射关系的 Set 视图。 
 */
public class TestHashMap2 {
    public static void main(String[] args) {
        Map<String,String> map = new HashMap<String,String>();
        //向容器中添加元素:以键值对的方式进行存放.
        map.put("jack", "成龙");
        map.put("jay", "周杰伦");
        map.put("eason", "陈奕迅");//添加元素
        map.put("jack", "杰克");//键如果重复,将发生覆盖
        System.out.println(map);
        //方式1:先获取键的集合,通过键获取值
        Set<String> keySet = map.keySet();
        for (String key : keySet) {
            String value = map.get(key);
            System.out.println(key+"----"+value);
        }
        System.out.println("-------------------------------");
        //方式2:获取键值对的集合,然后从键值对获取键和值。(推荐)
        //Entry<String,String>:对键和值进行泛型,Set<Entry<String,String>>对Set集合中Entry(键值对)进行泛型
        Set<Entry<String,String>> entrySet = map.entrySet();
        for (Entry<String, String> entry : entrySet) {
            String key = entry.getKey();//获取键值对的键
            String value = entry.getValue();//获取键值对中值
            System.out.println(key+"****"+value);
        }
    }
}

 

java:容器/集合(Map(HashMap,TreeMap))

标签:public   获取值   覆盖   通过   class   周杰伦   集合   容量   tree   

原文地址:http://www.cnblogs.com/kuangzhisen/p/7008736.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!