Java集合框架学习(十一) Hashtable详解
Hashtable介绍
1. 继承自Dictionary;
2. 线程安全;
3. 支持Iterator和Enumeration;
4. key和value都不可为null;
5. 一般用于多线程环境中。
类定义
public class Hashtable<K,V>
extends Dictionary<K,V>
implements Map<K,V>, Cloneable, Serializable
例子介绍
package com.dylan.collection;
import java.util.Enumeration;
import java.util.Hashtable;
/**
* @author xusucheng
* @create 2018-02-03
**/
public class HashtableExample {
public static void main(String[] args) {
Enumeration names;
String key;
// Creating a Hashtable
Hashtable<String, String> hashtable =
new Hashtable<String, String>();
// Adding Key and Value pairs to Hashtable
hashtable.put("Key1","Chaitanya");
hashtable.put("Key2","Ajeet");
hashtable.put("Key3","Peter");
hashtable.put("Key4","Ricky");
hashtable.put("Key5","Mona");
names = hashtable.keys();
while(names.hasMoreElements()) {
key = (String) names.nextElement();
System.out.println("Key: " +key+ " & Value: " +
hashtable.get(key));
}
}
}
使用Iterator迭代HashTable
package com.dylan.collection;
import java.util.Hashtable;
import java.util.Iterator;
import java.util.Set;
/**
* @author xusucheng
* @create 2018-02-03
**/
public class IterateHashtable {
public static void main(String[] args) {
String str;
// Creating a Hashtable instance
Hashtable<String, String> hashtable = new Hashtable<String, String>();
/* Adding key-value pairs to Hashtable
* public V put(K key, V value): Maps the specified key to the
* specified value in this hashtable. Neither the key nor the
* value can be null. The value can be retrieved by calling the
* get method with a key that is equal to the original key.
*/
hashtable.put("A", "Apple");
hashtable.put("B", "Orange");
hashtable.put("C", "Mango");
hashtable.put("D", "Banana");
hashtable.put("E", "Grapes");
System.out.println("Hashtable contains:");
/* public Set<K> keySet(): Returns a Set view of the keys
* contained in this map. The set is backed by the map,
* so changes to the map are reflected in the set, and
* vice-versa.
*/
Set<String> keys = hashtable.keySet();
//Obtaining iterator over set entries
Iterator<String> itr = keys.iterator();
//Displaying Key and value pairs
while (itr.hasNext()) {
// Getting Key
str = itr.next();
/* public V get(Object key): Returns the value to which
* the specified key is mapped, or null if this map
* contains no mapping for the key.
*/
System.out.println("Key: "+str+" & Value: "+hashtable.get(str));
}
}
}
Java集合框架学习(十一) Hashtable详解的更多相关文章
- Java集合框架学习(一)List
先附一张Java集合框架图. 从上面的集合框架图可以看到,Java集合框架主要包括两种类型的容器,一种是集合(Collection),存储一个元素集合,另一种是图(Map),存储键/值对映射.Coll ...
- Java集合框架学习
集合框架 集合框架的目标 该框架必须是高性能的.基本集合(动态数组,链表,树,哈希表)的实现必须是高效的. 该框架允许 不同类型的集合,以类似的方式工作,具有高度的互操作性. 对一个集合的扩展和适应必 ...
- Java 集合Collection与List的详解
1.什么是集合 存储对象的容器,面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,存储对象,集合是存储对象最常用的一种方式. 集合的出现就是为了持有对象.集合中可以存储任意类型的 ...
- java集合的方法及使用详解
一.java集合的分类及相互之间的关系 Collection接口:向下提供了List和Set两个子接口 |------List接口:存储有序的,存储元素可以重复 |------ArrayList(主要 ...
- 【java基础 11】java集合框架学习
导读:本篇博客主要是从整体上了解java的集合框架,然后主要介绍几个自己在项目中用到的结构,比如说:hashtable.hashmap.hashset.arraylist等! 一.宏观预览 从宏观上看 ...
- Java集合框架学习笔记
集合类的由来:对象用于封装特有数据,对象多了需要存储,如果对象的长度不确定,就使用集合存储. 集合特点1.用于存储对象的容器.2.集合的长度可变.3.集合中不可以存储基本类型 集合容器因为内部的数据结 ...
- Java后端框架之Spring Boot详解,文末有Java分布式实战项目视频可取
在 Java 后端框架繁荣的今天,Spring 框架无疑是最最火热,也是必不可少的开源框架,更是稳坐 Java 后端框架的龙头老大. 用过 Spring 框架的都知道 Spring 能流行是因为它的两 ...
- Java集合框架学习总结
转自:http://www.cnblogs.com/oubo/archive/2012/01/07/2394639.html Oubo的博客 以下介绍经常使用的集合类,这里不介绍集合类的使用方法,只介 ...
- 《Java Spring框架》SpringXML配置详解
Spring框架作为Bean的管理容器,其最经典最基础的Bean配置方式就是纯XML配置,这样做使得结构清晰明了,适合大型项目使用.Spring的XML配置虽然很繁琐,而且存在简洁的注解方式,但读懂X ...
- java里Struts2学习登录练习详解
最近在学struts2里面遇到很多错误,今天跟大家分享一下,我的开发工具是Eclipse: 1.到网上下载Struts2的包,这里不再累赘,百度有很多: 2.新建一个项目,记得后面加上web.xml文 ...
随机推荐
- Qt5.9 UI设计(五)——将Tabwidget与treeWidget相互关联
前言 前面一章介绍了ControlTabWidget ControlTreeWidget maintitlebar 三个子页面同时布局到 mainwindow 的方法,本章介绍如何将ControlTr ...
- 使用阿里canal实现mysql与Elasticsearch增量同步
一.背景介绍 最近在做一个地理信息相关的项目,需要维护大量的地址描述数据,同时需要提供对数据检索的功能,准备采用Elasticsearch(6.7)实现.那么问题就来了,地址数据需要同时在MySQL和 ...
- [转帖]Spring为啥不推荐使用@Autowired注解?
https://my.oschina.net/u/5079097/blog/5289666 引言 使用IDEA开发时,同组小伙伴都喜欢用@Autowired注入,代码一片warning,看着很不舒 ...
- [转帖]实践真知:解决 Jdbc 连接 Oracle 12c 时快时慢的问题
https://cloud.tencent.com/developer/article/1052506 李真旭@killdb Oracle ACE,云和恩墨技术专家 个人博客:www.killdb.c ...
- [转帖]linux shell 中数组的定义和for循环遍历的方法
https://www.cnblogs.com/ysk123/p/11510718.html linux 中定义一个数据的语法为: variable=(arg1 arg2 arg3 ....) 中间用 ...
- [转帖]《Linux性能优化实战》笔记(十七)—— Linux网络基础与性能指标
一. 网络模型 1. OSI 网络模型(七层) 为了解决网络互联中异构设备的兼容性问题,并解耦复杂的网络包处理流程,OSI 模型把网络互联的框架分为七层,每个层负责不同的功能.其中, 应用层,负责为应 ...
- [转帖]华为FusionSphere虚拟化解决方案介绍
https://huaweicloud.csdn.net/63566589d3efff3090b5d243.html?spm=1001.2101.3001.6650.2&utm_medium= ...
- SingleNode HDFS 搭建过程
背景 1. 纯粹测试 2. 未考虑安全和授权以及数据处理. 3. 单节点最简单的部署, 验证功能连接的可能性 资料获取以及环境变量的设置 获取最新的安装文件 https://downloads.apa ...
- 基于javaPoet的缓存key优化实践
一. 背景 在一次系统opsreview中,发现了一些服务配置了@Cacheable注解.@cacheable 来源于spring cache框架中,作用是使用aop的方式将数据库中的热数据缓存在re ...
- 【解决了一个小问题】macbook m2 下交叉编译 musl-gcc 支持的 gozstd 库
作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 我的 golang 项目中使用了 gozstd, 在 ma ...