JAVA 映射HashMap和HashTable的区别和实用
JAVA 映射HashMap和HashTable的区别和实用
/*
* @author Mr liu
*
* 基本格式:HashMap<key,vaule>
* 面试题
* HashMap和HashTable的区别:
* 1、HashMap在HashTable的基础上去掉了contains的方法,比HashTable多了containsvalues和containkey的方法
* 2、HashMap线程不安全(异步,效率高),HashTable线程安全(同步,效率比不上HashMap),其实用CurrentHashMap是最好的选择。(即同步了HashTable的安全,也综合了HashMap的效率)
* 3、HashMap允许空键值,而HashTable不允许
*/
public class Mapping {
/**
* @param args
*/
public static void main(String[] args) {
HashMap<StudentD,String> hm = new HashMap<StudentD,String>();
hm.put(new StudentD("xiaobai",23),"shanghai");
hm.put(new StudentD("wanghei",20),"beijing");
hm.put(new StudentD("lisi",28),"shenzhen");
hm.put(new StudentD("lisi",28),"shenzhen");
//collenction:集合的接口 主要继承的接口是set和list。通过集合存储hm的value值
Collection<String> collect=hm.values();
//st就是hashmap的key值,key值是不重复且唯一的
for (StudentD st : hm.keySet()) {
for (String string : collect) {
if(string.equals("shenzhen"))
System.out.println(st+"---"+hm.get(st)+"value:"+string+"------st:"+st.name);
}
}
}
}
class StudentD{
String name;
int age;
public StudentD(String name,int age){
this.name=name;
this.age=age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "StudentD [name=" + name + ", age=" + age + "]";
}
}
输出结果:
总结:HashTable和HashMap的实现原理几乎一样,差别无非是,映射对于自己开发都是比较方便的,告别了以前的for语句循环。大大提高了代码的高效率。可能有更多区别和大佬们的理解不一,希望各位大佬能多多评论,我也好多做些笔记。
JAVA 映射HashMap和HashTable的区别和实用相关推荐
- JAVA面试题:HashMap和Hashtable的区别
HashMap和Hashtable的区别 1.共同点:都是双列集合,底层都是哈希算法 2.区别: * 1.HashMap是线程不安全的,效率高,JDK1.2版本 * Hashtable是线程安全的,效 ...
- java HashMap 与HashTable的区别
HashMap 与HashTable的区别 HashMap与Hashtable的区别是面试中经常遇到的一个问题.这个问题看似简单,但如果深究进去,也能了解到不少知识.本文对两者从来源,特性,算法等多个 ...
- Java——集合(HashMap与Hashtable的区别)
* HashMap和Hashtable的区别* 共同点:* 底层都是哈希算法,都是双列集合* 区别:* 1,HashMap是线程不安全的,效率高* Hashtable是线程安全的,效率低 * 2,Ha ...
- 18.集合框架(Map集合,HashMap和Hashtable的区别,Collections(集合工具类),集合练习,模拟斗地主(洗牌,发牌,看牌))
1.Map集合概述和特点 1.需求: 根据学号获取学生姓名 2.Map接口概述 查看API可以知道: 将键映射到值的对象 一个映射不能包含重复的键 每个键最多只能 ...
- hashmap的特性?HashMap底层源码,数据结构?Hashmap和hashtable ConcurrentHashMap区别?
1.hashmap的特性? 允许空键和空值(但空键只有一个,且放在第一位) 元素是无序的,而且顺序会不定时改变 key 用 Set 存放,所以想做到 key 不允许重复,key 对应的类需要重写 ha ...
- Java集合——HashMap、HashTable以及ConCurrentHashMap异同比较
转发:https://www.cnblogs.com/zx-bob-123/archive/2017/12/26/8118074.html 0. 前言 HashMap和HashTable的区别一种比较 ...
- HashMap和Hashtable的区别--List,Set,Map等接口是否都继承自Map接口--Collection和Collections的区别...
面试题: 1.HashMap和Hashtable的区别?HashMap:线程不安全,效率高,键和值都允许null值Hashtable:线程安全,效率低,键和值都不允许null值ArrayList代替V ...
- hashMap和hashTable的区别以及HashMap的底层原理?
hashMap和hashTable的区别? 1.继承的父类不同 HashTable继承Dictionary类,而hashMap继承了AbstractMap类,但是二者都实现了map接口. 2.线程安全 ...
- 高薪程序员面试题精讲系列36之说说HashMap与HashTable的区别有哪些?
一. 面试题及剖析 1. 今日面试题 HashMap与HashTable的区别有哪些? hash一致性算法了解吗?原理是什么?底层怎么实现的? ....... 2. 题目剖析 今天这道题目,考察的还是 ...
最新文章
- python语音翻译软件下载_python软件翻译
- Python深度学习之分类模型示例,MNIST数据集手写数字识别
- 制度缺陷还是人性不堪
- windows gtk+ 开发环境搭建
- 使用闭包的方式实现一个累加函数 addNum
- Linux中后台执行scp
- MySQL建表添加乐观锁字段_Java秒杀系统优化-Redis缓存-分布式session-RabbitMQ异步下单-页面静态化...
- [转载] Java获取泛型T的类型 T.class
- JSP Cookie 处理
- 中标麒麟系统u盘安装_中标麒麟u盘安装电脑系统方法
- MySQL-快速入门(9)视图
- 超声波加湿器原理与检修
- 神策数据杨宁:券商财富管理数字化转型客户全生命周期(视频解读)
- 苹果每部iPhone4S可赚3917元 开售首日收入39亿元
- 仿微信朋友圈,仿微信小视频 ,录制视频功能
- [AV1] 谈谈AV1中的 S-Frame
- pta习题:退休日期推算
- cup过高是什么意思_cpu占用率过高是什么原因
- 《介绍一款开源的类Excel电子表格软件》续:七牛云存储实战(C#)
- 物联网开发之esp8266连接onenet控制板载小灯(二)