代码改变世界

java基础知识点 https://blog.csdn.net/qq_41286666/article/details/124551110

  ly772186472  阅读(13)  评论(0编辑  收藏  举报

 

 

 

 

 

  基础知识1:https://blog.csdn.net/qq_42503328/article/details/115003105?spm=1001.2101.3001.6650.15&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-15-115003105-blog-107751054.pc_relevant_multi_platform_featuressortv2dupreplace&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-15-115003105-blog-107751054.pc_relevant_multi_platform_featuressortv2dupreplace&utm_relevant_index=18

 

 

 

 

 

 这个是数据结构,在不同地方都用到了,在不同 集合中用到

 

 各种集合和组成结构

 

HashSet和HashMap的区别

这里涉及到HashSet的本质:(1)HashSet是set的一个实现类,hashMap是Map的一个实现类,同时hashMap是hashTable的替代品

(2)HashSet以对象作为元素,而HashMap以(key-value)的一组对象作为元素,且HashSet拒绝接受重复的对象.HashMap可以看作三个视图:key的Set,value的Collection,Entry的Set。 这里HashSet就是其实就是HashMap的一个视图。

HashSet内部就是使用Hashmap实现的,和Hashmap不同的是它不需要Key和Value两个值。

往hashset中插入对象其实只不过是内部做了

 

 

HashMap和HashTable的区别

HashMap允许键或者值为null。默认初始容量是16,加载因子是0.75f,默认增加一倍。是一个异步式线程不安全的映射,HaseTable不允许键或者值为null。默认初始容量是11,加载因子是0.75f。是一个同步式线程安全的映射---仅仅在笔试中出现.

都属于Map接口的类,实现了将惟一键映射到特定的值上。

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

HashMap 类没有分类或者排序。它允许一个 null 键和多个 null 值。

Hashtable 类似于 HashMap,但是不允许 null 键和 null 值。它也比 HashMap 慢,因为它是同步的。 Hashtable继承自Dictionary类,而HashMap是Java1.2引进的Map interface的一个实现

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

最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,

多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap 就必须为之提供外同步。 Hashtable和HashMap采用的hash/rehash算法都大概一样,所以性能不会有很大的差异。

http://www.cppcns.com/ruanjian/java/395668.html

 

 

 

 

 

 

 

相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
· Manus的开源复刻OpenManus初探
点击右上角即可分享
微信分享提示