社区
Java SE
帖子详情
hashtable 一个键多个值 getValue()
sshber
2014-08-04 01:02:11
一个hashtable中,若有key是多个value的,那么把这个key 的所有value 都存在一个linked list 里面。
我想问,那么现在如果我用getValue(Object key), 而这个key是有多个value的,那么这个方法返回的是一个value还是一个linked list? 如果返回的是一个value, 那么是哪个value呢?
...全文
876
7
打赏
收藏
hashtable 一个键多个值 getValue()
一个hashtable中,若有key是多个value的,那么把这个key 的所有value 都存在一个linked list 里面。 我想问,那么现在如果我用getValue(Object key), 而这个key是有多个value的,那么这个方法返回的是一个value还是一个linked list? 如果返回的是一个value, 那么是哪个value呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
skgary
2014-08-08
打赏
举报
回复
楼主一定是搞混了理论上的hash表和jdk中hashtable的实现。 只有数据结构课上面才会教你这些个冲突检测,但实际上JDK用的时候完全不需要考虑hash值冲突之后的检测问题。
grapepaul
2014-08-08
打赏
举报
回复
Hashtabled的hash()是有可能出这种问题的,不同key相同value时,后一次put的value值会把前一次的value覆盖掉,所以只会返回最后一个value。 HashMap的hash()会好很多,如果可以的话换了试试。
doer_ljy
2014-08-07
打赏
举报
回复
哈希算法怎么可能是同一个Key对应多个Value呢? 那样的话是覆盖而不是存成什么LinkList 除非自己实现这个功能。 另外Hashtable没有getValue方法, 楼主从哪里得到这些想法的?
zy_think123
2014-08-04
打赏
举报
回复
键值对?你知道什么是这样的吗?不存在一个键对应多个值,只有多个键对应相同的值才是可能的,添加的时候,如果键相同,那么不可能添加进去的
血饮
2014-08-04
打赏
举报
回复
key 有多个value ??是要说 可不可以是重复的吗??
rumlee
2014-08-04
打赏
举报
回复
在一个hashtable中,不存在一个key对应多个value的问题,如果两个对象的equals方法返回true,则会认为是相同的对象,在一个hashtable中是不能有两个equals返回true的key的。 我觉得你的意义可能是两个对象的hashcode值相同,这样两个key对应的对象是存在一个linklist中的,但是通过get方法获取的时候,首先是通过hashcode定位,然后再通过equals遍历的。
markcxz
2014-08-04
打赏
举报
回复
返回linked list,例如: Hashtable<String,List<String>> table=new Hashtable<String,List<String>>(); List<String> value=table.get("key");
跟汤老师学Java(第13季):集合
本课程从零开始,以通俗易懂的方式讲解Java技术,手把手教你掌握每
一个
知识点。 真正做到零基础入门学习,适合初学者的教程! 课程内容包括: 1.集合简介 2.存储结构 3.集合相关API 4.List:ArrayList、LinkedList、...
HashTable
扩展:
一个
键
对应
多个
值
基于有时候想存储一对多的数据结构的需求,自己写了个类来存储。 package javax.util.collection.collections; import java.io.Serializable; import java.util.ArrayList; import java.util.Collection; import java.util.HashSet; i...
回味集合(十三)之
HashTable
祝大家新年快乐,虎年大吉;
HashTable
的继承体系 Dictionary 是JDK1.0出的
一个
接口,Dictionary 类是任何类的抽象父类,例如
Hashtable
,它将
键
映射到
值
。每个
键
和每个
值
都是
一个
对象。在任何
一个
Dictionary 对象中,每个
键
最多与
一个
值
相关联。给定
一个
字典和
一个
键
,可以查找相关的元素。任何非空对象都可以用作
键
和
值
。通常,此类的实现应使用 equals 方法来确定两个
键
是否相同。感觉是Map(JDK 1.2)接口的前世,定义了一些简单的集合操作方法: pu
java
hashtable
的用法,Java HashMap
Hashtable
区别使用方法及示例代码
1、
Hashtable
和
Hashtable
区别1)使用null
值
区别
Hashtable
中,key和
value
都不允许出现null
值
。但是如果在
Hashtable
中有类似put(null,null)的操作,编译同样可以通过,因为key和
value
都是Object类型,但运行时会抛出NullPointerException异常,这是JDK的规范规定的。HashMap中,null可以作为
键
,这样的
键
只有...
HashTable
集合
HashTable
是Map另
一个
实现类,此类实现了
一个
哈希表,该哈希表将
键
映射到相应的
值
。任何非null对象都可以用作
键
或
值
。即不允许存储null对象(其他集合是允许的)。 JDK1.0版本就存在的,是最早期的双列集合。线程安全,是同步的(单线程,速度慢)。
HashTable
:底层是
一个
哈希表,是
一个
线程安全的集合,是单线程集合,速度慢。 HashMap:底层是
一个
哈希表,是
一个
线程不安全的集合,是多线程的集合,速度快。 HashMap集合(以及之前学的所有集合):可以存储null
值
/
键
。 Ha
Java SE
62,614
社区成员
307,327
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章