`
finally_mm
  • 浏览: 25077 次
  • 性别: Icon_minigender_2
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

JavaSE应用程序类集部分详解5

JDK 
阅读更多

Map接口

Map接口中的元素是按照keyàvalue的形式保存,也称为二元偶对象。

 

K,V可以使任意类型,keyvalue可以使任意类型的对象,但是任意一个类的对象,如果要想作为key且实现查找的功能,则类必须实现equals()hashCode()方法。

 

一、Map<K,V>接口的定义

public interface Map<K,V>

 

二、Map接口的操作方法

1void clear()

2boolean containsKey(Object key)

3boolean containsValue(Object value)

4Set<Map.Entry<K,V>> entrySet()

5boolean equals(Object o)

6V get(Object key)

7int hashCode()

8boolean isEmpty()

9Set<K> keySet()

10V put(K key, V value)

11void putAll(Map<? extends K,? extends V> m)

12V remove(Object key)

13int size()

14Collection<V> values()

 

四、Map接口的内部接口Map.Entry<K,V>

1Map.Entry<K,V>接口的定义:public static interface Map.Entry<K,V>

2Map.Entry<K,V>接口的操作方法:

(1)boolean equals(Object o)

(2)K getKey()    

(3)V getValue()

(4)int hashCode()

(5)V setValue(V value)

 

五、Map接口的子接口

1Map接口的直接子接口SortedMap<K,V>

SortedMap<K,V>接口的定义:public interface SortedMap<K,V>extends Map<K,V>

 

2Map接口的间接子接口NavigableMap<K,V>

NavigableMap<K,V>接口的定义:public interface NavigableMap<K,V>extends SortedMap<K,V>

 

六、Map接口的子类

Map接口的子类:AbstractMapHashMapHashtableProperties

 

1AbstractMap<K,V>类的定义:public abstract class AbstractMap<K,V>extends Object implements Map<K,V>

2HashMap<K,V>类的定义:public class HashMap<K,V>extends AbstractMap<K,V>implements Map<K,V>, Cloneable, Serializable

3Hashtable<K,V>类的定义:public class Hashtable<K,V>extends Dictionary<K,V>implements Map<K,V>, Cloneable, Serializable

其中Dictionary<K,V>类的定义如下:public abstract class Dictionary<K,V>extends Object

4Properties类的定义:public class Properties   extends Hashtable<Object,Object>

 

HashMap

一、HashMap<K,V>的定义

public class HashMap<K,V>extends AbstractMap<K,V>implements Map<K,V>, Cloneable, Serializable

 

二、HashMap<K,V>类的操作方法(详见文档,应用时主要以Map接口的方法为准)

 

TreeMap

一、TreeMap<K,V>的定义

public class TreeMap<K,V>extends AbstractMap<K,V>implements NavigableMap<K,V>, Cloneable, Serializable

 

二、TreeMap<K,V>类的操作方法(详见文档,应用时主要以Map接口的方法为准)

 

三、TreeMap<K,V>类的特点

TreeMap子类是允许key进行排序的操作子类,其本身在操作的时候将按照key进行排序,另外,key中的内容可以为任意的对象,但是要求对象所在的类必须实现Comparable接口。

 

 

HashTable

一、Hashtable <K,V>的定义

public class Hashtable<K,V>extends Dictionary<K,V>implements Map<K,V>, Cloneable, Serializable

其中Dictionary<K,V>类的定义如下:public abstract class Dictionary<K,V>extends Object

 

二、Hashtable <K,V>类的操作方法(详见文档,应用时主要以Map接口的方法为准)

 

Hashtable<K,V>类和HashMap<K,V>类的区别

No.

区别点

HashMap

Hastable

1

推出时间

JDK 1.2之后推出的,新的操作类

JDK 1.0时推出的,旧的操作类

2

性能

异步处理,性能较高

同步处理,性能较低

3

null

允许设置为null

不允许设置,否则将出现空指向异常

Map集合的输出

步骤:

1   使用Map接口中的entrySet()方法将Map接口的全部内容变为Set集合

2   可以使用Set接口中定义的iterator()方法为Iterator接口进行实例化

实例化方法:用Set<E>(继承Collection接口)的public Iterator<E> iterator()方法

3   之后使用Iterator接口对象的方法进行迭代输出,每一次的迭代都可以取得一个Map.Entry的实例

1boolean hasNext()

2E next()

 

4   通过Map.Entry进行keyvalue的分离

Map.Entry接口的分离方法:

(1)K getKey()    

(2)V getValue()

 

分享到:
评论

相关推荐

    JAVA SE应用详解.pdf

    Java语言具有面向对象、与平台无关、简单稳定...起点,每个章节循序渐进地向读者介绍了Java相关核心知识,并设计任务驱动环节,使读者在读程序、学知识、写程序的过程中,逐渐掌握面向对象的Java程 序设计思想和技能。

    JavaSE笔试程序题(20180307)

    JavaSE笔试程序题涵盖了许多核心Java编程概念,包括设计模式、数据结构、算法、多线程、I/O操作以及字符串处理等。以下是这些题目中涉及的知识点详解: 1. **Singleton模式**:确保一个类只有一个实例,常用于配置...

    李兴华-JavaSE开发详解笔记-李兴华

    JavaSE(Java Standard Edition)是Java编程语言的核心部分,它为构建桌面应用程序、网络应用程序以及分布式系统提供了基础。李兴华的"JavaSE开发详解笔记"深入浅出地讲解了这个重要领域的诸多知识点,旨在帮助...

    0-JavaSE课程介绍

    - **JavaSE(Standard Edition)**:标准版,适用于桌面应用程序的开发。虽然目前企业级应用更多倾向于Web端,但JavaSE仍然是学习Java的基础。 - **JavaEE(Enterprise Edition)**:企业版,专为构建大型企业级...

    JavaSE之StringBuilder类与String类

    ### JavaSE之StringBuilder类与String类 #### 一、String类概述 在Java语言中,`String`类是非常重要的一个类,它代表了不可变的字符序列,即一旦创建了一个`String`对象,其内容就不能被修改。由于`String`类的不...

    张龙老师 javaSE课程代码

    Java Standard Edition(简称Java SE)是Java平台的核心部分,用于开发和运行桌面应用程序、服务器应用程序以及分布式计算系统。这套由张龙老师提供的Java SE课程代码,包含了从基础到进阶的全方位学习材料,涵盖了...

    javase家庭收支记账小项目.7z

    JavaSE(Java Standard Edition)是Java平台的基础,主要用于桌面应用和控制台程序开发。本项目是一个基于JavaSE实现的家庭收支记账软件,旨在帮助用户轻松管理日常生活中的财务状况。对于Java初学者来说,这是一个...

    基于javase学生信息管理系统

    JavaSE是Java的核心部分,提供了丰富的类库和API,用于创建桌面应用程序。在这个系统中,JavaSE的特性如面向对象编程、异常处理、多线程等被广泛应用。通过JavaSE的Swing或JavaFX库,可以创建用户友好的图形用户界面...

    JavaSE6入门之脚本引擎让程序如虎添翼.txt

    JavaSE6的脚本引擎功能极大地增强了Java应用程序的灵活性和可扩展性。通过JSR223规范提供的API,开发者可以方便地在Java应用中集成多种脚本语言,提高开发效率。此外,通过不同的获取脚本引擎的方式,可以更灵活地...

    用javaSE做的购物系统

    《基于JavaSE实现的简单购物系统详解》 JavaSE(Java Standard Edition)是Java平台的基础版本,主要用于桌面应用开发。本篇文章将详细讲解如何利用JavaSE技术构建一个基础的购物系统,适合Java初学者入门实践。 ...

    100个JavaSE 经典例子(1-10)

    《JavaSE经典实例详解(1-10)》 在Java编程领域,Java Standard Edition (JavaSE) 是基础,它提供了构建桌面应用、服务器端应用和网络应用的平台。本篇将详细介绍JavaSE中的10个经典实例,帮助开发者深入理解和...

    JavaSE6.0的Derby嵌入式数据库

    Derby是一个轻量级的、完全由Java编写的数据库引擎,这使得它能够轻松地被集成到各种Java应用程序中,无需额外的安装过程。它支持SQL92E标准及部分SQL99的扩展,并具备事务处理、崩溃恢复和并发控制等高级功能。此外...

    javase坦克大战代码

    首先,JavaSE(Java Standard Edition)是Java平台的基础版本,它提供了开发桌面应用程序所需的所有类库和工具。在这个坦克大战游戏中,我们主要利用了JavaSE的图形用户界面(GUI)组件和事件处理机制来构建游戏界面...

    一个基于javase的学生管理系统

    MVC是一种广泛应用于软件开发的架构模式,它将应用程序分为三个核心部分:模型(Model)、视图(View)和控制器(Controller)。模型负责处理数据逻辑,视图显示数据,控制器则作为模型和视图之间的桥梁,处理用户...

    javase复习提纲

    ### JavaSE复习提纲知识点详解 #### 一、Java基础语法及特点 **Java的特点:** - **跨平台性:** Java的最大特点是其跨平台能力,即“一次编写,到处运行”(Write Once, Run Anywhere),这得益于Java虚拟机(JVM)的...

    JavaSE导出jar(两种方法)

    4. **运行环境**:虽然JavaSE可以用来开发和打包应用程序,但Struts2主要用于JavaEE环境。如果你尝试在JavaSE环境下运行一个使用Struts2的JAR,可能需要额外的服务器支持,如Tomcat或Jetty。 通过理解这两种方法,...

Global site tag (gtag.js) - Google Analytics