Java集合框架总结02之常用双列集合(HashMap)

我的上篇博文总结了继承了Collection的单列集合, 其中最常用的是ArrayList, HashSet. 在今天, 继续奋斗 奋斗, 也把常用的双列集合类(即HashMap)也总结一下! 干劲十足 大笑!
首先, 我用一张图来描述整个集合框架类的继承关系图:

Map接口
        HashMap
            底层是哈希算法, 针对键
        LinkedHashMap
            底层是链表, 针对键
        TreeMap
            底层是二叉树算法, 针对键
        注意: 开发中用HashMap比较多!
        

代码实现, 下面分别用代码来演示HashMap, LinkedHashMap, TreeMap的用法:

HashMap:

package org.lxy.map;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Set;

/**
 * @author menglanyingfei
 * @date 2017-3-20
 */
public class Demo1_HashMap {
	/**
	 * Map集合的遍历之键找值
	 * @param args
	 */
	public static void main(String[] args) {
		HashMap<String, Integer> hm = new HashMap<>();
		hm.put("li", 20);
		hm.put("wang", 22);
		hm.put("liyang", 40);
		
		Set<String> keySet = hm.keySet();
		Iterator<String> it = keySet.iterator();
		while (it.hasNext()) {
			String key = it.next();
			Integer value = hm.get(key);
			System.out.println(key + " = " + value);
		}
		
		for (String key : keySet) {
			System.out.println(key + " = " + hm.get(key));
		}
	}
}
运行结果:

LinkedHashMap:

package org.lxy.map;

import java.util.LinkedHashMap;

/**
 * @author menglanyingfei
 * @date 2017-3-21
 */
public class Demo3_LinkedHashMap {
	/**
	 * 怎么存就怎么取
	 * @param args
	 */
	public static void main(String[] args) {
		LinkedHashMap<String, Integer> lhm = new LinkedHashMap<>();
		lhm.put("li", 20);
		lhm.put("lili", 20);
		lhm.put("liyang", 21);
		
		System.out.println(lhm); // 注意, 存的顺序和运行显示的顺序一致!
	}
}
运行结果:

TreeMap:

package org.lxy.map;

import java.util.TreeMap;

/**
 * @author menglanyingfei
 * @date 2017-3-31
 */
public class Demo5_TreeMap {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		TreeMap<String, Integer> tm = new TreeMap<>();
		tm.put("C", 3);
		tm.put("Java", 1);
		tm.put("PHP", 6);
		// 用法很类似HashMap
		System.out.println(tm); // {C=3, Java=1, PHP=6}
	}

}
本文地址: http://blog.csdn.net/menglanyingfei/article/details/68934729
本文源自: http://blog.csdn.net/menglanyingfei

本文小结: 总之, 在Java开发应用中, 集合框架的使用可以大大减少程序员自定义的存储容器和排序算法的相关代码, 熟练掌握对编码的效率有一定的帮助, 如果还有对ArrayList, HashSet, HashMap等类的具体方法还有问题, 可以查询Java JDK帮助文档(.chm文件), 并自己动手都实现一篇, 以加强理解和记忆!

希望大家能多多评论和指点我的文章, 以相互交流和学习, 如果您觉得写得还不太差劲或者对您有一丁点的帮助, 麻烦动个小手点个赞, 可怜(非常感谢你的这个小举动! 因为这是对作者最大的肯定和赞赏!), 也欢迎大家到我的博客里看看对您有帮助的文章,  也欢迎转载,但真诚希望在明确位置注明超链接的出处! 谢谢!
下次总结分享, 再见!再见


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值