`
kkllmey
  • 浏览: 103577 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Java-常---用-集-合

阅读更多
Hashtable和HashMap的区别
1.Hashtable是Dictionary(抽象类,如下:)的子类,HashMap是Map接口的一个实现类;
2.Hashtable中的方法是同步的,而HashMap中的方法在缺省情况下是非同步的。即是说,在多线程应用程序中,不用专门的操作就安全地可以使用Hashtable了;而对于HashMap,则需要额外的同步机制。但HashMap的同步问题可通过Collections的一个静态方法得到解决:
Map Collections.synchronizedMap(Map m)
这个方法返回一个同步的Map,这个Map封装了底层的HashMap的所有方法,使得底层的HashMap即使是在多线程的环境中也是安全的。同步是有代价的,而Hashtable的同步机制是无法在不需要的时候关闭掉的,因此编程中出于性能的考虑,我们都应该首选HashMap。
3.在HashMap中,null可以作为键,这样的键只有一个;可以有一个或多个键所对应的值为null。当get()方法返回null值时,即可以表示HashMap中没有该键,也可以表示该键所对应的值为null。因此,在HashMap中不能由get()方法来判断HashMap中是否存在某个键,而应该用containsKey()方法来判断。 


--------------------------------------- Dictionary类  --------------------------------------------------
     Dictionary类是一个抽象类,定义了一个映射键(keys)与值(values)的数据结构。该类可以通过特定的键来访问数据。由于Dictionary类是抽象类,它仅仅提供了一个用于健与数据之间映射的数据结构框架,而不是一个特定的实体。 
     通常,Dictionary被用来将一个对象和一个名字联系起来,并基于这个名字来检索对象。在Dictionary中,名字对象被称为一个关键字,可为任意类型的对象,和关键字相联系的对象称为值。一个关键字只能与一个值相对应,但是一个值可以有多个关键字。  
7.11.1 在Dictionay中存储对象  
     在Dictionary中,pul方法使用特定的关键字来存储对象: 
     ·public abstrack Object put(Object key,Object value) throws NullPointarException 
     用put方法返回的对象是从前与该关键字相联系的对象,如果没有以前的联系,则返回null。不能将key或value设置为null值,如果将null传递给这两个参数中的任意一个,将产生一个NullPointerException异常。  
7.11.2 从Dictionary中检索对象  
     get方法查找Dictionary和一个特定的关键字相联系的对象: 
     ·public abstract Object get(Object key) 如果没有和这个关键字相对应的值则返回null  
7.11.3 从Dictionary中移走对象  
     ·public abstrac Object remove(Object key) 为了从Dictionary中移走一个“关键字-值”对。返回值是与关键字相联系的对象,如果没有和这个关键字相联系的对象,返回null。 
     ·public abstract boolean isEmpty() 如果Dictionary中没有对象,isEmpty方法返回true: 
     ·public abstract int size() 返回Dictionary中含有多少个“关键字-值”对。 
     ·public abstract Enumeration keys() 返回一个枚举对象,该对象允许检查Dictionary中所有的关键字。 
     ·public abstract Enumeration elements() 对于Dictionary中的所有值,elements方法返回一个枚举对象。  
  上一页   下一页  

分享到:
评论

相关推荐

    mysql-connector-java-合集.rar(内含5.0.8,5.1.24,5.1.48)

    压缩包内含 mysql-connector-java-5.0.8 mysql-connector-java-5.1.24 mysql-connector-java-5.1.48 搞不懂为啥一个常用的驱动jar包都要那么多积分

    经典java小程序源代码合集-java聊天程序.rar

    经典java小程序源代码合集-java聊天程序经典java小程序源代码合集-java聊天程序经典java小程序源代码合集-java聊天程序经典java小程序源代码合集-java聊天程序经典java小程序源代码合集-java聊天程序经典java小程序...

    经典java小程序源代码合集-java编的五子棋.rar

    经典java小程序源代码合集-java编的五子棋经典java小程序源代码合集-java编的五子棋经典java小程序源代码合集-java编的五子棋经典java小程序源代码合集-java编的五子棋经典java小程序源代码合集-java编的五子棋经典...

    经典java小程序源代码合集-俄罗斯方块java源代码.rar

    经典java小程序源代码合集-俄罗斯方块java源代码经典java小程序源代码合集-俄罗斯方块java源代码经典java小程序源代码合集-俄罗斯方块java源代码经典java小程序源代码合集-俄罗斯方块java源代码经典java小程序源代码...

    java-opensource-doc开源项目中文文档合集

    这个资源集合是针对Java开源项目的中文文档,旨在帮助中国开发者更好地理解和使用各种流行的Java开源框架、库和工具。这些文档通常由社区贡献者翻译,提供了官方英文文档的对应中文版本,使得语言障碍不再是学习和...

    Java面试题资料合集-44套.rar

    java面试-BIO,NIO,AIO,Netty面试题 35道 java面试-Java+最常见的+200++面试题汇总+答案总结汇总 java面试-Java并发编程最全面试题 123道 java面试-Java集合框架常见面试题 java面试-Java虚拟机(JVM)面试题 51道 ...

    classic-java-programs-.zip_合集

    Java作为一种广泛使用的面向对象的编程语言,具有跨平台、性能优秀和丰富的类库等特点,使得它成为开发这类游戏的首选工具。以下是对这些知识点的详细说明: 1. **面向对象编程(OOP)**:Java是基于面向对象编程...

    经典java小程序源代码合集-jjava扫雷程序.rar

    经典java小程序源代码合集-jjava扫雷程序经典java小程序源代码合集-jjava扫雷程序经典java小程序源代码合集-jjava扫雷程序经典java小程序源代码合集-jjava扫雷程序经典java小程序源代码合集-jjava扫雷程序经典java小...

    J2SE6.0API+JAVA-API1.6中文版合集

    Java开发人员在编程过程中,经常会参考API文档来了解类库的功能和使用方法。"J2SE6.0 API + JAVA-API1.6中文版合集"是一个非常实用的资源,它整合了Java Standard Edition(J2SE)6.0版本和Java API 1.6的中文文档,...

    Java技术大合集

    Java技术大合集是一个全面涵盖Java编程语言及其相关技术的资源集合。这个压缩包很可能包含了各种教程、代码示例、实战项目以及相关的学习资料,旨在帮助开发者深入理解和掌握Java技术。下面将对Java技术的一些核心...

    Java-C-JS数据结构与算法合集

    《Java-C-JS数据结构与算法合集》是针对编程领域的三大主流语言——Java、C和JavaScript,深入探讨数据结构与算法的宝贵资源。数据结构是计算机存储、组织数据的方式,而算法是解决问题的精确步骤,它们是软件开发的...

    java-面试题合集,基础,进阶

    ### Java-面试题合集:基础与进阶 #### JVM的最佳配置详解 1. **-Xms 和 -Xmx 的一致性设置**: - **-Xms**:指定了JVM启动时分配的初始堆内存大小。 - **-Xmx**:定义了JVM在运行过程中能够使用的最大堆内存...

    java经典算法合集

    Description: Java经典算法java经典算法java经典算法java经典算法java经典算法java经典算法java经典算法java经典算法 Tags: Java经典算法 Java经典算法合集是Java编程语言中的一些经典算法的集合,这些算法涵盖了...

    面试真题包含spring-java-集合-框架-并发-spring-运维-数据库等多领域45卷合集.rar

    这份名为"面试真题包含spring-java-集合-框架-并发-spring-运维-数据库等多领域45卷合集.rar"的压缩包是为准备Java相关面试的求职者精心整理的资源库。它包含了45套涵盖多个领域的面试题,旨在帮助求职者全面复习和...

    臧圩人--JAVA面试题解惑系列合集.pdf

    - **知识点**:介绍Java中日期和时间API的使用,重点在于`Date`、`Calendar`类以及新引入的`java.time`包下的类如`LocalDate`、`LocalTime`、`ZonedDateTime`等,以适应不同的时区需求。 **1.8 JAVA面试题解惑系列...

    java-Games-Sources.rar_games_合集

    在这个合集中,我们可以期待找到各种类型的Java小游戏,比如基于命令行的文本游戏,也可能包含一些简单的图形界面游戏。这些游戏的源代码通常会涉及以下几个核心知识点: 1. **基础语法与控制结构**:源代码将展示...

    自学资料,自学练习、 JAVA-SE-学习 全面打基础练习和文档集合.合集准备 Java学习资料

    4. **集合框架**:Java集合框架包括接口(如List、Set、Queue)和实现类(如ArrayList、LinkedList、HashSet、HashMap等),学习者应掌握它们的使用和选择原则。 5. **输入输出流**:I/O流用于处理数据的读写,包括...

    164个JAVA完美程序.rar

    经典java小程序源代码合集-164个JAVA完美程序,经典java小程序源代码合集-164个JAVA完美程序经典java小程序源代码合集-164个JAVA完美程序经典java小程序源代码合集-164个JAVA完美程序经典java小程序源代码合集-164个...

    java编程软件合集

    Java编程软件合集是一个珍贵的资源集合,涵盖了Java开发者在编程过程中可能需要用到的各种工具和软件。这个合集的出现,体现了Java开发环境的多样性和丰富性,也反映了Java社区的共享精神。以下将详细介绍其中可能...

    Java 专题合集 - v1.01

    【Java 专题合集 - v1.01】是一份全面涵盖Java开发各个阶段的知识资源,旨在帮助不同水平的Java开发者提升技能。该合集采用了在线协作的方式,整合了网络上的优质教育资源,主要分为以下几个部分: 1. **J2SE基础**...

Global site tag (gtag.js) - Google Analytics