javahashtable-40

问题描述:java中hashtable怎样存储数据和读取数据? 这篇文章主要介绍了一个有趣的事情,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获,下面让小编带着大家一起了解一下。

java中hashtable怎样存储数据和读取数据

javahashtable-40的相关图片

Hashtable-哈希表类

以哈希表的形式存储数据,数据的形式是键值对.。

特点:

查找速度快,遍历相对慢

键值不能有空指针和重复数据

创建

Hashtable<Integer,String> ht=new 。

Hashtable<Integer,String>();。

添值

ht.put(1,"Andy");。

ht.put(2,"Bill");。

ht.put(3,"Cindy");。

ht.put(4,"Dell");。

ht.put(5,"Felex");。

ht.put(6,"Edinburg");。

ht.put(7,"Green");。

取值

String str=ht.get(1);。

System.out.println(str);// Andy。

对键进行遍历

Iterator it = ht.keySet().iterator();。

while (it.hasNext()) {。

Integer key = (Integer)it.next();。

System.out.println(key);。

对值进行遍历

Iterator it = ht.values().iterator();。

while (it.hasNext()) {。

String value =(String) it.next();。

System.out.println(value);。

取Hashtable记录数

Hashtable<Integer,String> ht=new Hashtable<Integer,String>();。

ht.put(1,"Andy");。

ht.put(2,"Bill");。

ht.put(3,"Cindy");。

ht.put(4,"Dell");。

ht.put(5,"Felex");。

ht.put(6,"Edinburg");。

ht.put(7,"Green");。

int i=ht.size();// 7。

删除元素

Hashtable<Integer,String> ht=new Hashtable<Integer,String>();。

ht.put(1,"Andy");。

ht.put(2,"Bill");。

ht.put(3,"Cindy");。

ht.put(4,"Dell");。

ht.put(5,"Felex");。

ht.put(6,"Edinburg");。

ht.put(7,"Green");。

ht.remove(1);

ht.remove(2);

ht.remove(3);

ht.remove(4);

System.out.println(ht.size());// 3。

Iterator it = ht.values().iterator();。

while (it.hasNext()) {。

// Get value。

String value =(String) 。

it.next();

System.out.println(value);。

java中的Hashtable怎么用,请详细举例子说明,拜托了 谢谢的相关图片

java中的Hashtable怎么用,请详细举例子说明,拜托了 谢谢

Hashtable-哈希表类\x0d\x0a\x0d\x0a以哈希表的形式存储数据,数据的形式是键值对.\x0d\x0a特点:\x0d\x0a查找速度快,遍历相对慢\x0d\x0a键值不能有空指针和重复数据\x0d\x0a\x0d\x0a创建\x0d\x0aHashtable ht=new \x0d\x0aHashtable();\x0d\x0a\x0d\x0a添值\x0d\x0a\x0d\x0aht.put(1,"Andy");\x0d\x0aht.put(2,"Bill");\x0d\x0aht.put(3,"Cindy");\x0d\x0aht.put(4,"Dell");\x0d\x0aht.put(5,"Felex");\x0d\x0aht.put(6,"Edinburg");\x0d\x0aht.put(7,"Green");\x0d\x0a\x0d\x0a取值\x0d\x0a\x0d\x0aString str=ht.get(1);\x0d\x0aSystem.out.println(str);// Andy\x0d\x0a\x0d\x0a对键进行遍历\x0d\x0a\x0d\x0aIterator it = ht.keySet().iterator();\x0d\x0a\x0d\x0awhile (it.hasNext()) {\x0d\x0a Integer key = (Integer)it.next();\x0d\x0a \x0d\x0aSystem.out.println(key);\x0d\x0a}\x0d\x0a\x0d\x0a对值进行遍历\x0d\x0a\x0d\x0aIterator it = ht.values().iterator();\x0d\x0a\x0d\x0awhile (it.hasNext()) {\x0d\x0a String value =(String) it.next();\x0d\x0a \x0d\x0aSystem.out.println(value);\x0d\x0a}\x0d\x0a\x0d\x0a取Hashtable记录数\x0d\x0a\x0d\x0aHashtable ht=new Hashtable();\x0d\x0a\x0d\x0aht.put(1,"Andy");\x0d\x0aht.put(2,"Bill");\x0d\x0aht.put(3,"Cindy");\x0d\x0aht.put(4,"Dell");\x0d\x0aht.put(5,"Felex");\x0d\x0aht.put(6,"Edinburg");\x0d\x0aht.put(7,"Green");\x0d\x0a\x0d\x0aint i=ht.size();// 7\x0d\x0a\x0d\x0a删除元素\x0d\x0a\x0d\x0aHashtable ht=new Hashtable();\x0d\x0a\x0d\x0aht.put(1,"Andy");\x0d\x0aht.put(2,"Bill");\x0d\x0aht.put(3,"Cindy");\x0d\x0aht.put(4,"Dell");\x0d\x0aht.put(5,"Felex");\x0d\x0aht.put(6,"Edinburg");\x0d\x0aht.put(7,"Green");\x0d\x0a\x0d\x0aht.remove(1);\x0d\x0aht.remove(2);\x0d\x0aht.remove(3);\x0d\x0aht.remove(4);\x0d\x0a\x0d\x0aSystem.out.println(ht.size());// 3\x0d\x0a\x0d\x0aIterator it = ht.values().iterator();\x0d\x0a\x0d\x0awhile (it.hasNext()) {\x0d\x0a // Get value\x0d\x0a String value =(String) \x0d\x0ait.next();\x0d\x0a System.out.println(value);\x0d\x0a}。

java 多线程操作hashtable(添加,删除,遍历)的相关图片

java 多线程操作hashtable(添加,删除,遍历)

就是哈希表,下面这个示例创建了一个数字的哈希表。它将数字的名称用作键: Hashtable<String, Integer> numbers = new Hashtable<String, Integer>();  

 numbers.put("one", 1);  

 numbers.put("two", 2);  

 numbers.put("three", 3); 。

要获取一个数字,可以使用以下代码:

Integer n = numbers.get("two");  

 if (n != null) {  

 System.out.println("two = " + n);  

 }

Java中HashMap和Hashtable分别是干什么用的?就是说他们有什么用途?什么时候用?的相关图片

Java中HashMap和Hashtable分别是干什么用的?就是说他们有什么用途?什么时候用?

public class TestThread {。

public static void main(String[] args){。

Map<Integer, Object> tables = new Hashtable<Integer, Object>();。

Thread add = new Thread(new ThreadAdd(tables));。

Thread del = new Thread(new ThreadDel(tables));。

Thread count = new Thread(new ThreadCount(tables));。

//启动线程

add.start();

del.start();

count.start();。

}

/**

*添加对象线程

*/

private static class ThreadAdd implements Runnable{。

private Map<Integer, Object> table;。

public ThreadAdd(Map<Integer, Object> tables){。

this.table=tables;。

}

public void run() {。

// TODO Auto-generated method stub。

for(int i=0;i<10;i++){。

table.put(i, new Object());。

System.out.println("添加对象,序号为:"+i);。

}

}

}

/**

*删除对象线程

*/

private static class ThreadDel implements Runnable{。

private Map<Integer, Object> table;。

public ThreadDel(Map<Integer, Object> table){。

this.table=table;。

}

public void run() {。

// TODO Auto-generated method stub。

for(int i=0;i<10;i++){。

try {

Thread.sleep(100);。

} catch (InterruptedException e) {。

// TODO Auto-generated catch block。

e.printStackTrace();。

}

table.remove(i);。

System.out.println("移除对象,序号为:"+i);。

}

}

}

/**

*统计线程

*/

private static class ThreadCount implements Runnable{。

private Map<Integer, Object> table;。

public ThreadCount(Map<Integer, Object> table){。

this.table=table;。

}

public void run() {。

// TODO Auto-generated method stub。

for(int i=0;i<10;i++){。

try {

Thread.sleep(50);。

} catch (InterruptedException e) {。

// TODO Auto-generated catch block。

e.printStackTrace();。

}

System.out.println("当前队列还剩"+table.size()+"个对象");。

}

}

}

这是我的写的demo,不知道符合不符合你的意思,大家共同交流共同进步。

java hashtable初始数组为多大

1 HashMap不是线程安全的 。

hastmap是一个接口 是map接口的子接口,是将键映射到值的对象,其中键和值都是对象,并且不能包含重复键,但可以包含重复值。HashMap允许null key和null value,而hashtable不允许。

2 HashTable是线程安全的一个Collection。

HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于HashMap允许空(null)键值(key),由于非线程安全,效率上可能高于Hashtable。

HashMap允许将null作为一个entry的key或者value,而Hashtable不允许。

HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因为contains方法容易让人引起误解。

Hashtable继承自Dictionary类,而HashMap是Java1.2引进的Map interface的一个实现。

最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap 就必须为之提供外同步。

原文地址:http://www.qianchusai.com/javahashtable-40.html

lw/人的肾在哪个部位图片,人的肾脏是在哪个位置的图

lw/人的肾在哪个部位图片,人的肾脏是在哪个位置的图

muduo-70

muduo-70

sscanf-70

sscanf-70

黑苹果解决独显HDMI黑屏问题-50,黑苹果hdmi输出黑屏但有声音

黑苹果解决独显HDMI黑屏问题-50,黑苹果hdmi输出黑屏但有声音

7811-100

7811-100

multiagency-90

multiagency-90

藏之中电影,藏身之处电视剧在线观看

藏之中电影,藏身之处电视剧在线观看

majorette-80

majorette-80

flute,flute什么乐器

flute,flute什么乐器

employee-40

employee-40

三国志战略版马超兵锋攻略 - 马超技能搭配与阵容推荐 三国志战略版名声攻略 - 快速提升名声方法大全 三国志战略版战略视野 - 掌控战场,决胜千里 三国志战略版自愈效果详解 - 武将自愈技能机制与搭配攻略 三国志战略版陆逊触发机制详解 - 完整攻略指南 三国志战略版乐府攻略大全 - 最新阵容搭配与玩法指南 三国志战略版军屯建筑 - 最全攻略与升级指南 三国志战略版11000势力值攻略 - 快速提升势力值技巧与方法 三国志战略版高顺战法详解 - 高顺战法搭配与使用技巧 三国志战略版怎么建造分城 - 完整攻略指南 三国志战略版无凌统孙权阵容攻略 - 替代武将搭配与战术分析 三国志战略版兵锋能用吗 - 兵锋技能详细评测与使用指南 三国志战略版军屯能加多少势力 - 军屯势力值加成攻略 三国志战略版开荒翻车 - 避坑指南与补救方案 三国志战略版自愈技能使用指南 - 最佳武将推荐与搭配策略 九游三国志战略版10级土地攻略 - 攻略大全 三国志战略版夏侯惇阵容推荐 - 最强搭配攻略 三国志战略版 - 夏侯渊 夏侯惇 郭嘉武将攻略 | 三国武将详解 三国志战略版满级名声上限 - 攻略大全 三国志战略版核心结构 - 深度解析游戏玩法与策略体系 三国志战略版抵御状态详解 - 游戏攻略指南 三国志战略版四星武将排名 - 最强四星武将推荐攻略 三国志战略版3万预备兵攻略大全 - 获取方法与使用技巧 三国志战略版高级工坊 - 专业游戏攻略平台 三国志战略版虚弱效果详解 - 游戏攻略与技巧 三国志战略版要不要建造分城?分城建造攻略与策略分析 三国志战略版军屯声望系统详解 - 军屯声望获取与提升攻略 三国志战略版势力增长攻略 - 快速提升势力值技巧大全 三国志战略版摧锋拔城攻略大全 - 最强攻城策略指南 三国志战略版7级工坊推荐 - 最强配置与策略指南