Java(集合类)第三部分(Map映射接口)

原创 2016年08月30日 21:44:04

映射(map)是一个存储关键字和值的关联或者说是关键字/值对的集合。给定一个关键字可以得到它的值。关键字和值都是对象,每一对关键字/值叫做一项。关键字必须是唯一的,但值是可以重复的。有些映射可以接受null值,而有的则不行。因为映射接口定义了映射的特征和本质,下面先介绍和映射有关的接口,
接口 Map 描述:映射唯一关键字到值
接口Map.Entry 描述:描述映射中的项(关键字/值对),这是Map的一个内部接口
接口SortedMap 描述:继承Map以关键字按升序存储

1。Map接口
关键字(key)是用于检索值的对象。给定一个关键字和一个值,可以存储这个值到一个Map对象中。当这个值被存储后,就可以使用它的关键字来检索它。
2。SortedMap接口
SortedMap接口继承了Map,用于确保项按关键字升序排序。

实现Map接口类
1.HashMap
HashMap类使用散列表实现Map接口,这允许一些基本操作如get()和put()的运行时间保持恒定,即便对大型集合也是这样的。
构造方法
HashMap()
HashMap(Map m)
HashMap(int capacity)
HashMap(int capacity,float fillRatio)

HashMap实现了Map并且继承了AbstractMap,它本身并没有增加任何新的方法。应该注意的是,散列映射并不保证它的元素顺序(由散列函数的特性决定)。因此,将元素加入散列映射的顺序不一定就是它们被迭代函数读出的顺序。

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;import javax.management.MBeanParameterInfo;

public class HashMapDemo {
    public static void main(String[] args) {
        HashMap hashMap=new HashMap();
        hashMap.put("John",new Integer(96));
        hashMap.put("Tom",new Integer(197));
        hashMap.put("Jane",new Integer(198));
        hashMap.put("Hall",new Integer(199));
        Set set=hashMap.entrySet();
        Iterator iterator=set.iterator();
        while(iterator.hasNext())
        {
            Map.Entry mEntry=(Map.Entry)iterator.next();
            System.out.println(mEntry.getKey()+":");
            System.out.println(mEntry.getValue());
        }
        int balance=((Integer)hashMap.get("John")).intValue();
        hashMap.put("John",new Integer((int)(balance+100)));
        System.out.println("John's new balance:"+hashMap.get("John"));
    }

}

结果
Tom:
197
John:
96
Hall:
199
Jane:
198
John’s new balance:196
分析:程序首先创建一个散列映射,然后将名字到账户值的映射增加到HashMap中,接下来,映射的内容通过使用entrySet()而获得的项集合视图而显示出来,关键字和值通过调用由Map.Entry定义的getKey()和getValue()方法而显示出来,put()方法自动用新值替换与指定关键字相关联的原先的值。

2.TreeMap
TreeMap类使用树实现Map接口,TreeMap提供了按顺序存储关键字/值对的有效手段,同时允许快速检索。应该注意的是,不像散列映射,树映射能保证它的元素按照关键字升序排序。
TreeMap的构造函数包括
TreeMap()
TreeMap(Map m)
TreeMap(SortedMap sm)
第一种形式是构造一个空树的映射,该映射使用其关键字的自然顺序来排序。第二种形式是用m的映射项初始化树映射,该映射使用关键字的自然顺序来排序。第三种形式是用sm的输入来初始化一个树映射,该映射按与m相同的顺序来排序。
TreeMap实现SortedMap并且继承AbstractMap,而它本身并没有另外定义其他方法。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

自组织神经网络介绍:自组织特征映射SOM(Self-organizing feature Map),第三部分

前面介绍了SOM的基本概念和算法,第一部分,第二部分,本篇具体展开一下应用中的一些trick设定。SOM设计细节输出层设计 输出层神经元数量设定和训练集样本的类别数相关,但是实际中我们往往不能清除地...

Java精选笔记_集合【Map(映射)接口】

Map(映射)接口 简介 该集合存储键值对,一对一对的往里存,并且键是唯一的。要保证map集合中键的唯一性。 从Map集合中访问元素时,只要指定了Key,就能找到对应的Value。 关键字是以...

JAVA集合 Set(集)、List(列表)、Map(映射)、Collection(接口)

对JAVA集合的理解:     JAVA集合可以存储和操作数目不固定的一组数据;     它不同于数组,数组的大小是固定的,并且只能存放类型相同的数据(基本类型/引用类型);     所有的JAVA集...

java 运用映射的相关类(Map)

  • 2010年06月21日 15:27
  • 59KB
  • 下载

Core Java (二十一) 映射表(Map接口)

映射表是一种数据结构,用于存放键值对。如果提供了键,就能查找到值。 Map接口的方法: Modifier and Type Method and Descriptio...

JAVA集合框架之Map接口实现类

java.util.HashMap 基于哈希表的 Map 接口的实现。此实现提供所有可选的映射操作,并允许使用 null 值和 null 键。(除了非同步和允许使用 null 之外,HashMap ...

java集合类之Map接口

1Map接口的简介 在现实生活中每个人都有自己的身份证号,通过身份证号就可查到个人信息,这两者是一对一的关系。在应用程序中,如果想要储存这种具有对应关系的数据,则需要使用JDK提供的Map接口,Ma...

java中集合Collection和Map接口的实现类

今天又重新学习了java基础类中的集合,那么就总结了一些常用的集合类 那么为什么需要集合类呢?原因其实很简单,因为java中不能动态的创建大小自动扩大的数组,那么我们的集合类就很好的解决了这样的问题。...

JavaSE入门学习37:Java集合框架之Map接口及其实现类HashMap和TreeMap

一Map接口         Map接口中的每个成员方法由一个关键字(key)和一个值(value)构成。Map接口不直接继承于Collection接口,因 为它包装的是一组成对的"键-值"对象的...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java(集合类)第三部分(Map映射接口)
举报原因:
原因补充:

(最多只允许输入30个字)