java中的map是一种依照键存储元素的容器。在map中键可以是任意类型的对象。map中不能有重复的键,每个键都有一个对应的值。

Map是一个集合,一种依照键(key)存储元素的容器,键(key)很像下标,在List中下标是整数。在Map中键(key)可以是任意类型的对象。Map中不能有重复的键(Key),每个键(key)都有一个对应的值(value)。

(推荐教程:java课程)

一个键(key)和它对应的值构成map集合中的一个元素。

Map中的元素是两个对象,一个对象作为键,一个对象作为值。键不可以重复,但是值可以重复。

Map本身是一个接口,要使用Map需要通过子类进行对象实例化。

在Map接口中有如下常用方法:

Map接口的常用子类有如下四个:HashMap、HashTable、TreeMap、ConcurrentHashMap。

如:public class Test{

public static void main(String[] args) {

Map map = new HashMap<>();

map.put(1, "A");

map.put(1, "A+");

map.put(2, "B");

map.put(3, "C");

System.out.println(map);

System.out.println(map.get(2)); //根据key取得value

System.out.println(map.get(10)); //找不到返回null

//取得Map中所有key信息

Set set = map.keySet();

Iterator iterator = set.iterator();

while(iterator.hasNext()) {

System.out.println(iterator.next());

}

}

注意:

(1)、key值不允许重复,如果重复,则会把对应value值更新;

(2)、key和value都允许为null,key为null有且只有一个。

HashMap原理:在数据量小的(JDK1.8后阈值为8)时候,HashMap是按照链表的模式存储的;当数据量变大之后,为了进行快速查找,会将这个链表变为红黑树(均衡二叉树)来进行保存,用hash来进行查找。

java的map是什么_java中的map是什么相关推荐

  1. java中map比较大小_java中对map根据value进行排序

    在利用map时,偶尔需要根据value的大小来进行排序,今天就遇到了.现在就把map根据value进行排序的方法在此记录. 1.声明一个hashmap对象Map map = new HashMap() ...

  2. java map 允许重复_java中key值可以重复的map:IdentityHashMap

    在Java中,有一种key值可以重复的map,就是IdentityHashMap.在IdentityHashMap中,判断两个键值k1和 k2相等的条件是 k1 == k2 .在正常的Map 实现(如 ...

  3. java map集合使用_JAVA中Map集合的使用举例

    首先创建一个Emp类,再将几个Emp对象添加到Map集合中. Emp的id作为Map的键,并将id为"005"的对象从集合中删除. package com.han; import ...

  4. java map 为空_java中如何判断map是否为空

    java中判断map是否为空的方法是:可以利用isEmpty()函数来判断.isEmpty()函数是java中用于判断某种容器是否有元素的系统库函数,例如用来判断ArrayList.HashSet.H ...

  5. java map字典序_java中对map的字典序排序

    java中对map的字典序排序,算法验证比对微信官网https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115& ...

  6. java map 自动排序_Java中Map的排序

    Map的种类 在Java中,Map的主要作用是存储键值对.由于是根据键得到值,所以不允许键重复.它主要有如下几个类别: HashMap: 最常用的Map,它根据键的HashCode值存储数据,根据键可 ...

  7. java 定义map集合_Java中的Map集合

    Map集合: 个人感觉Map接口以后会经常用到,可以很清晰地查找某个对象,要熟悉其四种遍历方法.特别注意其键值对的键不能是重复的,有想定义有序存取的话,可以使用LinkedHashMap集合.不过定义 ...

  8. java 中map的优点_java 中map遍历的四种方法和优缺点

    /** * 在for-each循环中使用entries来遍历 * 这是最常见的并且在大多数情况下也是最可取的遍历方式.在键值都需要时使用 * 如果遍历的是一个空的map,会报数组越界 ,java5引入 ...

  9. java map赋值_java 中的map怎么没有办法赋值?

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 package cn.jado.framework.util; import java.io.BufferedReader; import java.io ...

最新文章

  1. javascript初学
  2. 什么叫“碳达峰、碳中和”?一副漫画看明白
  3. 【bzoj3879】SvT 后缀数组+倍增RMQ+单调栈
  4. 神级代码编辑器 Sublime Text 全程指南
  5. C#中对虚拟属性和抽象属性的重写,重写label实例
  6. SharePoint at .NET技术大会
  7. Asp.Net Core中的静态文件-12
  8. 19.jsp生命周期
  9. 21OGNL与ValueStack(VS)-静态方法访问
  10. LeetCode 2055. 蜡烛之间的盘子(前缀和)
  11. C++工作笔记-模版中class更新为typename
  12. UITableView自定义Section
  13. java中的UDP总结
  14. Java class反编译工具
  15. 2017博鳌亚洲青年论坛(香港)顺利召开 中国发展人工智能优势在哪?
  16. UDE2021开展首日回顾,“黑科技”含量超标了!
  17. 中国企业软件25年到底有几次颠覆
  18. AS400 资料并分享面经一
  19. 软件开发之计划阶段: ”声控打鼓”游戏的”用户/场景”分析
  20. MATLAB实战——方差分析

热门文章

  1. 开源免费的参数化人物角色建模工具MakeHuman1.2.0,大家一起捏人儿吧(附CSDN下载)
  2. python中语法错误-Python语法错误与异常及异常处理方法
  3. PTA:最佳情侣身高差 (10分)(c++版)
  4. VSCODE安装ChatGPT插件
  5. 1582年日历怎么了_1582年日历图片
  6. React-activation使用
  7. revit模型怎么在手机上看_模型的查看和定位-Revit基础教程
  8. MySQL 数据库 varchar 到底可以存多少个汉字,多少个英文呢?我们来搞搞清楚
  9. 深度学习之灾难性遗忘问题
  10. 雅虎创始人杨致远简介