`
隐形的翅膀
  • 浏览: 496946 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Java集合Map接口学习

阅读更多
Map接口用于存储元素对(键和值)


Map接口中的方法
    equals(Object o)
    hashCode
    clear()
    remove(Object key)
    put(Object key,Object value)
    putAll(Map t)
    entrySet  返回 Map 中所包含映射的 Set 视图。 Set 中的每个元素都是一个 Map.Entry 对象,可以使用 getKey() 和 getValue() 方法(还有一个 setValue() 方法)访问后者的键元素和值元素
    keySet()返回 Map 中所包含键的 Set 视图。 删除 Set 中的元素还将删除 Map 中相应的映射(键和值)
    values()返回 map 中所包含值的 Collection 视图。 删除 Collection 中的元素还将删除 Map 中相应的映射(键和值)

    get(Object key)返回与指定键关联的值
    containsKey(Object key) true or false;
    containsValue(Object value) true or false;
    isEmpty()
    size()
1. HashMap
HashMap提供所有可选的映射操作,并允许使用 null 值和 null 键,除了非同步和允许使用 null 之外,HashMap 类与 Hashtable 大致相同

注意,此实现不是同步的。如果多个线程同时访问一个哈希映射,而其中至少一个线程从结构上修改了该映射,则它必须 保持外部同步。这一

般通过对自然封装该映射的对象进行同步操作来完成。如果不存在这样的对象,则应该使用 Collections.synchronizedMap 方法来“包装”该映射。最好在创建时完成这一操作,以防止对映射进行意外的非同步访问,如下所示:
Map m = Collections.synchronizedMap(new HashMap(...));

A: 遍历HashTable, 使用entrySet接口
   
       Map<String,Integer> map=new HashMap<String,Integer>();
       map.put("1", 1);
       map.put("2", 2);
       map.put("3", 3);
       map.put("3", 3);
         
       Iterator itor=map.entrySet().iterator();
       while(itor.hasNext()){
         Map.Entry<String,Integer> entry=(Map.Entry<String,Integer>)itor.next();
         System.out.println("key="+entry.getKey().toString());
         System.out.println("values="+entry.getValue().toString());
       }
    


B: 遍历HashTable, 使用keySet 和 values接口
      
       Set<String> keys=map.keySet();
       Iterator itor=keys.iterator();
       while(itor.hasNext()){
        	Object key=itor.next();
        	System.out.println("key="+key.toString());
        	System.out.println("value="+map.get(key).toString());
        }

       Collection co=map.values();
       Iterator itor=co.iterator();
       while(itor.hasNext()){
        	System.out.println("value="+itor.next());
        }
       



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


   
  • 大小: 2.2 KB
分享到:
评论

相关推荐

    java集合MAP三种遍历

    `Map`接口是Java集合框架的一部分,它提供了基于键值对的数据存储方式。常见的实现类包括`HashMap`(无序)、`LinkedHashMap`(有序)、`TreeMap`(排序)等。Map的主要方法包括`put`、`get`、`remove`、`...

    易语言仿java集合 list map源码

    本主题聚焦于易语言中的面向对象编程,特别是模仿Java集合框架的List和Map接口的实现。这些数据结构在编程中扮演着核心角色,用于组织和管理数据。 首先,让我们深入了解易语言的面向对象编程概念。面向对象编程...

    Java集合框架Map接口.pdf

    Java集合框架中的Map接口是Java编程中非常重要的一个部分,它提供了一种存储键值对数据的方式。在Map中,每个键(key)都是唯一的,用于标识对应的值(value),而值可以重复出现。这种数据结构广泛应用于各种场景,...

    Java Map 集合类简介

    本文将探讨Map接口及其主要实现,并讨论如何根据应用需求选择合适的Map类型。 **Map接口和方法** Map接口定义了四个主要的方法,所有Map实现都必须实现这些方法。其中,`equals(Object o)`和`hashCode()`方法用于...

    java中map集合的用法

    Java中的Map接口是Java集合框架的重要组成部分,它用于存储键值对的数据结构,其中每个键都是唯一的,并且与一个值相关联。Map集合不同于List,因为它不维护元素的顺序,而是通过键来访问其对应的值。本文将详细介绍...

    Java很好的学习笔记集合Map,学习代码

    Java是一种广泛使用的面向对象的编程语言,其集合框架是学习Java的重要部分,特别是Map接口,它是集合中的关键组件。Map接口在Java中用于存储键值对数据,它提供了丰富的功能来管理和操作这些数据。本篇笔记集合将...

    java集合思维导图

    在`java集合.png`和`java集合.xmind`文件中,你可以找到更为直观的思维导图,它将帮助你清晰地理解各个接口之间的关系以及它们的主要特性。通过这样的学习方式,不仅可以加深对Java集合的理解,还能提高问题解决的...

    Java实现Map集合二级联动示例

    Map集合是Java集合框架的一部分,它允许我们以键(Key)-值(Value)对的形式存储数据。在Map中,键是唯一的,而值可以重复。Java提供了多种Map接口的实现,如HashMap、TreeMap、LinkedHashMap等,它们各有不同的...

    java集合深度学习

    HashMap是Java 1.2引入的,它是Map接口的一个实现,提供了高效且灵活的键值对存储。HashMap是非同步的,这意味着在多线程环境中,如果不进行适当的同步控制,可能会导致数据不一致。为了在多线程环境下使用HashMap,...

    深入Java集合学习系列

    其次,HashMap是Java中处理键值对的数据结构,它实现了Map接口。HashMap基于哈希表实现,提供了O(1)的平均时间复杂度进行查找、插入和删除操作。哈希表的关键在于计算键的哈希值,并利用哈希值确定元素在内部数组中...

    java中map集合的用法.pdf

    在Java编程语言中,Map接口是集合框架的重要组成部分,它提供了键值对(Key-Value)的数据存储方式。Map不是列表或数组,它允许通过键来查找和操作对应的值。本篇文章将详细介绍Map的基本用法和关键特性。 1. **...

    java中map集合的用法.doc

    Java中的Map接口是Java集合框架的重要组成部分,它用于存储键值对的数据结构。Map不同于List,List是以索引来访问元素,而Map则是通过键(key)来查找对应的值(value)。Map接口定义了一系列方法,使得我们可以对...

    集合框架List、Map、Set接口及其子类综合对比

    Java基础知识汇总之集合框架List、Map、Set接口及其子类综合对比

    Java集合排序及java集合类详解

    3. Map接口:Map接口用于存储键值对,不包含重复键,但键值对可以重复。HashMap是最常用的实现,它基于哈希表,提供快速的存取速度;LinkedHashMap保持了插入顺序或者访问顺序;TreeMap则使用红黑树结构,元素按照键...

    JSP应用开发-Java集合类-Map接口.pptx

    总的来说,理解并熟练运用Java集合框架中的Map接口及其实现,对于JSP应用开发来说至关重要。正确选择和使用这些类可以帮助我们编写出高效、可维护的代码。在实际项目中,应根据具体需求和场景来决定使用哪种集合类型...

    Java面向对象编程与集合框架:Map接口与泛型的应用解析

    重点探讨了 Java集合框架中的 Map接口及其主要实现类(HashMap、TreeMap、LinkedHashMap),并通过示例代码展示它们的使用方法。文章还深入讨论了泛型在 Map中的应用及其优缺点,最后介绍了一些高级用法,如自定义 ...

    java 集合

    本文将深入探讨Java集合框架的基础知识,包括接口、类、以及它们在实际开发中的应用。 首先,Java集合框架由一系列接口和实现这些接口的类组成。主要的接口有`List`、`Set`和`Queue`,它们各自代表了不同特性的数据...

    Java集合框架学习笔记

    进入Java集合框架的核心,我们有四个主要接口:`Collection`、`List`、`Set`和`Map`。`Collection`是最基础的接口,它是所有集合的父接口,但它不提供`get()`方法,通常我们通过`Iterator`遍历`Collection`。`List`...

Global site tag (gtag.js) - Google Analytics