黑马程序员技术交流社区

标题: HashMap学习 [打印本页]

作者: lmjssjj    时间: 2015-3-24 11:22
标题: HashMap学习
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;

public class mapdemo {

        /**
         * @param args
         */
        public static void main(String[] args) {
                // TODO Auto-generated method stub
                // Map 接口是基于哈希表实现的此实现提供所有可选的映射操作,并允许使用 null 值和 null 键
                // 并且不同步
                // HashMap() 默认初始容量(16)加载因子(0.75)
                // 初始容量 和加载因子。容量 是哈希表中桶的数量,初始容量只是哈希表在创建时的容量。加载因子
                // 是哈希表在其容量自动增加之前可以达到多满的一种尺度。当哈希表中的条目数超出了加载因子与当前容量的乘积时,则要对该哈希表进行 rehash
                // 操作(即重建内部数据结构),从而哈希表将具有大约两倍的桶数。
                Map<String, Integer> map = new HashMap<String, Integer>();

                map.put("1", 1);// 返回值,当有数据存入map集合中时,数据的键已存在map集合里时,此数据将会覆盖原有的数据,并把原来的值作为返回值
                map.put("2", 2);
                map.put("3", 3);

                // 取出map集合中的所有键
                Set<String> keySet = map.keySet();
                // 对keySet进行迭代
                Iterator<String> iterator = keySet.iterator();
                // 取出map中的值
                while (iterator.hasNext()) {
                        String key = iterator.next();// 取出键
                        System.out.print("key:->" + key + "::");
                        int value = map.get(key);// 通过键取出值
                        System.out.println("value:->" + value);

                }

                // 另一种遍历
                Set<Entry<String, Integer>> entrySet = map.entrySet();

                for (Entry<String, Integer> entry : entrySet) {
                        String key = entry.getKey();
                        int value = entry.getValue();
                        System.out.println("key=" + key + "::" + "value=" + value);
                }

                // 利用迭代器遍历
                Iterator<Entry<String, Integer>> iterator2 = entrySet.iterator();
                while (iterator2.hasNext()) {
                        Entry<String, Integer> entry = iterator2.next();
                        String key = entry.getKey();
                        int value = entry.getValue();
                        System.out.println("key=" + key + "::" + "value=" + value);
                }

        }

}






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2