java基础总结之Hashtable

package cn.wen.basic.test;

import java.util.Enumeration;
import java.util.Hashtable;
import java.util.Set;

import org.junit.Test;
/*
 * HashTable和HashMap的主要区别就是一个支持同步一个不支持同步,但是就在单线程中的运行速度而言,HashMap更快
 * 在java1.2版本之后 这个类改为实现Map接口。
 * 如果不需要实现线程同步,建议使用HashMap,如果实现线程同步,建议使用ConCurrentHashMap代替HashTable
 */
public class testHashTable {

	@Test
	public void testHashTableMethod(){

		Hashtable<String,String> ht=new Hashtable<String,String>();//构造一个新的并且为空的Hashtable,并且默认容量为11和默认负载因子为0.75
		ht.put("1","001");
		ht.put("2","002");
		ht.put("ji", "jd");
		ht.put("ere2", "dfdfe");
		String one=ht.get("1");
		System.out.println(one);
		Enumeration<String> en=ht.keys();//获取返回此散列键的枚举
		Set<String> set=ht.keySet();//返回此map中键的set视图。
		for(String key1:set){
			System.out.println(ht.get(key1));
		}
		while(en.hasMoreElements()){
			String key=en.nextElement();
			System.out.println(ht.get(key));
		}
		System.out.println(ht.toString());//以一组条目的形式返回此map的字符串表示形式。并以acci码表中的","隔开
	}

}

  

时间: 2024-07-31 07:55:55

java基础总结之Hashtable的相关文章

Java基础教程:HashTable与HashMap比较

Java基础教程:HashTable与HashMap比较 1.  关于HashMap的一些说法: a)  HashMap实际上是一个"链表散列"的数据结构,即数组和链表的结合体.HashMap的底层结构是一个数组,数组中的每一项是一条链表. b)  HashMap的实例有俩个参数影响其性能: "初始容量" 和 装填因子. c)  HashMap实现不同步,线程不安全.  HashTable线程安全 d)  HashMap中的key-value都是存储在Entry中的

java 基础 ---HashMap、HashTable

HashMap.HashTable区别. 1.HashMap线程不安全,HashTable线程安全: 2.HashMap的键和值都允许null值存在,而HashTable不允许: 3.HashMap的效率高于Hashtable * Hash table based implementation of the <tt>Map</tt> interface.  This * implementation provides all of the optional map operatio

java基础---HashMap和HashTable的异同之处

1:连个都实现了Map的接口,两者的底层数据结构相同,都是transient修饰的entry数组,transient修饰的变量不会序列化即不会持久化,序列化的过程中不会包含这个变量,这个变量的生命周期仅仅是在用户的调用过程中,不能持久化到内存磁盘中.这样便于一些敏感信息的保存 2:HashMap是不安全的,不能同步,不支持多线程并发,HashTable是安全的,有同步锁,但效率低. 3:HashMap从AbstractMap继承而来,HashTable是从Dictionary继承而来 4:Has

java 基础(二)

java 基础(二)java 基础(二) 2016-2-1 by Damon 61. 编写多线程程序有几种实现方式 Java 5以前实现多线程有两种实现方法:一种是继承Thread类:另一种是实现Runnable接口.两种方式都要通过重写run()方法来定义线程的行为,推荐使用后者,因为Java中的继承是单继承,一个类有一个父类,如果继承了Thread类就无法再继承其他类了,显然使用Runnable接口更为灵活. 补充:Java 5以后创建线程还有第三种方式:实现Callable接口,该接口中的

Java基础】并发 - 多线程

Java基础]并发 - 多线程 分类: Java2014-05-03 23:56 275人阅读 评论(0) 收藏 举报 Java 目录(?)[+] 介绍 Java多线程 多线程任务执行 大多数并发应用程序时围绕执行任务(task)进行管理的:所谓任务就是抽象的,离散的工作单元. 围绕执行任务来管理应用程序时,第一步是要指明一个清晰的任务边界.大多数应用服务器程序都选择了下面这个自然的任务辩解:单独的客户请求: 任务时逻辑上的单元: 任务 Runnable 表示一个任务单元(java.lang)

黑马程序员——Java基础---IO(下)

黑马程序员——Java基础---IO(下) ------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------ 一.概述 Java除了基本的字节流.字符流之外,还提供了File类.properties类.打印流.序列流等和输入输出相关的类,它们能够帮助我们更好的处理信息.下面将对它们进行简单的介绍. 一.正

java基础问题总结

1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节.抽象包括两个方面,一是过程抽象,二是数据抽象. 2.继承: 继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法.对象的一个新类可以从现有的类中派生,这个过程称为类继承.新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类).派生类可以从它的基类那里继承方法和实例变量,并

java基础-java核心知识库

1.Spring.mvc的优势,原理,流程 2.Mybatis的原理优势 3.集合里面那些对象的原理 4.扩容原理,特别是map的底层 5.Hashmap.Hashtable和cocurrentHashMap的区别,要讲出它们各自的实现原理才行,比如Hashmap的扩容机制.cocurrentHashMap的段锁原理.多线程安全性. 6.几种造线程池的方法,区别 7.线程有哪几种状态,他们是如何转换的 8.Rpc原理,以及大致流程 9.Nio和netty的区别,为什么netty的性能高,nio,

北漂面试经历(一(两)年工作经验)-- Java基础部分

Java基础部分 常量和变量的区别:final 关键词修饰的变量是恒定不变的,如果还有static关键词修饰的话,常常称为编译期常量.变量,运行时可以修改其引用. Java基本类似有哪些 1 Byte = 8 Bits (细节地方,这个其实跟机器的位数也是有关系.) String/StringBuffer/StringBuilder的区别:String:字符串常量,字符串长度不可变:StringBuffer(JDK 1.0) 安全(不代表线程就一定安全喔)的可以重复操作的字符串变量:String