`

Java中的集合-Map

阅读更多

Map接口没有继承Collection接口。它通过键的值指定数据存放位置。键值不能重复,但其值可以为null。

  • HashMap
  • Hashtable

HashMap

它用来将键-值映射关系存储到散列表中。它是线程不安全的。

 

public HashMap()//构造一个初始容量为16,加载因子为0.75的HashMap,容量为12(16x0.75)

public HashMap(int initialCapacity)//构造一个初始容量为initialCapacity的HashMap

public HashMap(int initialCapacity, float loadFactor)//构造一个指定初始容量和加载因子的HashMap

public HashMap(Map m)//构造一个与指定Map映射关系相同的HashMap

 

如果存取的数据超过了现在的容量,HashMap会自动增加容量,增加的容量是原来的容量的2倍加1。

 

public void clear()//删除映射中所有映射关系

public boolean containsKey(Object key)//判断HashMap中是否存在指定的键的映射关系

public boolean containsValue(Object value)//判断HashMap中是否存在指定的值的映射关系

public V get(Object key)//返回key所对应的值

public boolean isEmpty()//判断HashMap是否为空

public V put(K key, V value)//在映射中放入指定键与指定值

public void putAll(Map m)//将m复制到当前映射中

public int size()//返回映射中键-值映射关系的数目

public V remove(Object key)//删除映射中存在该键的映射关系

 

示例代码:

import java.util.HashMap;
import java.util.Iterator;

public class HashMapTest{
 public static void main(String[] args){
  HashMap hm = new HashMap(10,0.5f);
  hm.put(1,"a");
  hm.put(2,"b");
  System.out.println(hm.get(2));
  hm.remove(1);
  if(hm.containsKey(2))
   System.out.println("key 2 is exist"); 
  if(hm.containsValue("b"))
   System.out.println("value b is exist");
  HashMap hm2 = new HashMap(hm);
  hm2.put(3,"c");
  
  System.out.println("hm2 size:"+hm2.size());
  Iterator it = hm2.keySet().iterator();
  while(it.hasNext()){
   int key = Integer.parseInt(it.next().toString());
   System.out.println("key:"+key+"  value:"+hm2.get(key));
  }
 }
}

 

执行结果:

C:\javastudy>java HashMapTest
b
key 2 is exist
value b is exist
hm2 size:2
key:2  value:b
key:3  value:c

C:\javastudy>

 

Hashtable

它可以用来表示一个线程安全的散列表。使用方法和HashMap完全相同。

分享到:
评论

相关推荐

    java版list-map实现 树结构 父子结构 通俗易懂

    此java类实现了对数据表的分类递归树的实现,为本人倾力之作,后期,会发布js版,敬请期待!

    java集合类list-set-map.doc

    java集合类list-set-map.doc

    Crazy-JAVA-mind-map.zip_Crazy JAVA mind map_crazy_java-mindmap_m

    这份"Crazy-JAVA-mind-map.zip"压缩包包含了一个名为"Crazy JAVA mind map.mmap"的思维导图文件,这个导图就是对《疯狂JAVA讲义》内容的高度概括和逻辑梳理,旨在帮助学习者更好地理解和记忆书中的知识点。...

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

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

    java-集合-知识点汇总

    Java集合可以分为两大类:Collection和Map。 Java集合的类型 Java集合有多种类型,常见的有ArrayList、LinkedList、HashSet、TreeSet、HashMap、TreeMap等。 * ArrayList:是一个基于数组的列表实现,支持随机...

    Java集合类List-Set-Map的区别和联系.doc

    Java 集合类 List、Set 和 Map 是 Java 语言中最基本的集合类,它们之间存在着紧密的联系和区别。在本文中,我们将对 Java 集合类 List、Set 和 Map 的区别和联系进行详细的介绍。 一、Array、Arrays 和 Collection...

    java集合体系结构完结篇-Map集合

    java集合体系结构完结篇-Map集合

    线程-线程池-锁-集合-Map-队列.docx

    集合是Java中存储数据的主要工具,包括List、Set和Map等。`HashMap`在不同JDK版本间可能存在差异,例如在JDK 7及之前,`HashMap`是非线程安全的,而在JDK 8中进行了优化,引入了红黑树提高性能。`ConcurrentHashMap`...

    易语言仿java集合 list map源码

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

    java基础 集合-21-对象的一对多与多对多

    在Java集合框架中,主要的接口有List、Set和Map。List接口代表有序的集合,允许重复元素,如ArrayList和LinkedList。Set接口不允许重复元素,如HashSet和TreeSet。Map接口存储键值对,如HashMap和TreeMap。在处理...

    Java-list-set-map.zip_Java list

    本资料“Java list set map.zip”专注于讲解这些接口及其相关实现,帮助开发者深入理解Java集合类的使用。 首先,`List`接口是有序的集合,允许元素重复。它提供了按索引访问元素的能力,类似于数组。`ArrayList`和...

    java基础 集合-22-迭代器设计模式

    这意味着每个集合都可以被迭代,这符合Java集合框架的设计原则。 3. **迭代器的分类** - **正向迭代器**:按照元素在集合中的自然顺序进行遍历,大多数集合类默认提供这种迭代方式。 - **反向迭代器**:从集合的...

    java 集合----Map、Collection

    Java集合框架是编程中不可或缺的一部分,它提供了多种数据结构,如列表(List)、集(Set)以及映射(Map),便于我们高效地存储、管理和操作数据。本文将深入探讨Map和Collection接口,以及它们的实现类,特别是HashSet和...

    Java-Java集合体系-List-Set

    理解并熟练运用Java集合体系中的List、Set、Map接口及其实现类,对于日常开发和面试来说至关重要,因为它们是许多Java框架和库的基础。在实际项目中,根据需求选择合适的集合类型可以提高代码的效率和可维护性。在...

    关于java基础集合-定义及练习资料

    Java集合框架是Java编程语言中的一个核心特性,它为存储、管理和操作对象提供了一组高效且灵活的数据结构。本资料主要关注Java集合的基础定义以及相关的练习,帮助开发者深入理解和掌握这些概念。 首先,我们来详细...

    【IT十八掌徐培成】Java基础第11天-04.Map集合-集合整理.zip

    在IT领域,尤其是在Java编程中,Map集合是一个至关重要的数据结构。Map集合不同于List或Set,它不存储单一元素,而是存储键值对(key-value pairs)。在Java中,Map接口是所有映射类型的父接口,它定义了映射的基本...

    Java-Interview-超全集合github上评分最高的jiva面试题

    通过学习和复习这些知识点,并结合"Java-Interview-超全集合github上评分最高的jiva面试题"中的题目进行实战演练,可以有效地提升Java开发者在面试中的竞争力,为成功获得理想职位打下坚实基础。在面试准备过程中,...

    10.java基础拾遗--匿名内部类的应用--实现scala中的集合map方法.mp4

    10.java基础拾遗--匿名内部类的应用--实现scala中的集合map方法.mp4

    Java基础----集合类汇总

    本文将深入探讨Java集合类的汇总,包括List、Set和Map这三大核心接口及其实现类。 首先,让我们从List接口开始。List是一种有序的集合,允许有重复元素,并且支持通过索引来访问元素。ArrayList和LinkedList是List...

    java中map集合的用法

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

Global site tag (gtag.js) - Google Analytics