黑马程序员-集合(Map)
---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------
区分map集合和collection集合的特点
明确map是和collection同等级别
1:Map存储元素使用put方法,Collection使用add方法
2:Map集合没有直接取出元素的方法,方法有三种
第一种:把键先通过keySet()转成Set集合,再通过Set迭代和getValue(key)获取元素(iterator迭代取出是collection特有的,map集合如果想用iterator迭代取出,必须先把map集合转成collection集合)
至于第一种为什么不转成Collection集合而转成Set集合?
因为在map中,键是不允许重复的,Set也是不允许重复的…
第二种:通过Values(),方法,返回一个所有值的Collection()集合,再通过迭代器Iterator,一一取出
第三种(重点):通过entrySet()方法,entrySet()方法是hashMap的一个取键值对的方法,取的是集合里的键和值的关系(相当于把键和值打包了取出来),entrySet()方法返回的是一个Set集合,通过Set集合的迭代,获得一整个键值对,对迭代出的键值对使用getKey()可以取出键,通过getValue()取出值
HashMap去除重复元素的原理
和HashSet一致,都是根据hashCode()+equals();
TreeMap对键进行排序,排序的原理和TreeSet相同,也是相同的两种方法,1:使键(对象)具备比较性(对象实现comparable接口,覆写compareTo())2:建立比较器,比较器实现comparator接口,覆写compare()方法
hashMap与hashTable的区别:
hashTable不支持null键和null值,线程同步
hashMap支持存null键和null值,线程非同步,取代hashTable
keySet与entrySet的区别
keySet是hashMap的一个取键值的方法,取的是集合中的键
entrySet是hashMap的一个取键值对的方法,取的是集合里的键和值的关系(相当于把键和值打包了取出来)
Map是一个接口,Map.Entry也是一个接口,是map的一个静态内部接口,和内部类形似的构成,内部结构为:
Interface map
{Public static interface Entey
{Public abstatic Object getKey();
Public abstatic Object getValue();
}
}
因为这个内部接口是静态的,所以直接借口名调用就可以了
Class hashMapimplenemts map.Entry
{}
---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------
详细请查看:http://edu.csdn.net
黑马程序员-集合(Map)相关推荐
- 黑马程序员-----集合框架类(四) 高级for循环、方法的可变参数及静态导入
------- android培训.java培训.期待与您交流! ---------- 黑马程序员-----集合框架类(四) 高级for循环.方法的可变参数及静态导入 1.1 高级for循环(示例1) ...
- 黑马程序员——集合Collection:体系详述
------<ahref="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培 ...
- 黑马程序员——集合框架
------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 类集是一个动态对象数组,不受对象数组长度的限制. List集合里面的内容允许重复,Set集合不允 ...
- 黑马程序员————集合2(day17)
----------------------ASP.Net+Android+IOS开发----------------------期待与您交流! 集合2 l Collections – sort l ...
- 黑马程序员——集合框架(二)
----------- android培训.java培训.java学习型技术博客.期待与您交流! ------------ package com.yang.ex; /*------Set:不包含重复 ...
- 黑马程序员————集合框架1(day14)
----------------------ASP.Net+Android+IOS开发----------------------期待与您交流! 集合框架1 l 体系概述 l 共性方法 l 迭代 ...
- 黑马程序员入学Java知识——精华总结
黑马程序员入学Java知识--精华总结 J2SE部分,Java高新技术部分,7K面试题部分等黑马入学要求的知识点总结! 一.黑马程序员-java概述与基础知识 6 1.何为编程? 6 2.Java语言 ...
- 黑马程序员——总集篇
-----------android培训.java培训.java学习型技术博客.期待与您交流!------------ 本人编写技术博客的时候只是针对章节的一些比较重要的知识点来编写的: 个人感觉质量 ...
- 黑马 程序员——Java基础---IO(下)
黑马程序员--Java基础---IO(下) ------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------ 一.概述 Java除了基本的字节流.字符流之外,还提供 ...
最新文章
- .git文件夹_Git服务器安装- windows
- sqlhelper使用指南
- WebRTC大会火爆上演,网易云信谈音视频研发三大突破点
- matplotlib 中文_详解Matplotlib中文字符显示问题
- vim编辑器学习记录
- 外媒:华为或将在2月24日发布麒麟820 支持5G网络
- python性能分析工具模块_关于Python Profilers性能分析器
- 教程篇(6.4) 02. 路由、会话和性能SLA ❀ SD-WAN ❀ Fortinet 网络安全架构师 NSE7
- RAID独立冗余磁盘列阵
- 设置电子围栏 高德地图_高德地图 自动生成电子围栏
- 使用python Telegram 机器人推送消息
- 赠书赠券:《大话计算机》
- dl----算法常识100例
- GB/T28181-2022协议版本标识X-GB-Ver解读
- win10系统计算器闪退怎么办? win10系统计算器闪退解决方法?
- 换FasterRcnn模型backbone
- springCloud Euraka知识讲解、问题解决方案、优化方案
- 主板BIOSCOMS故障解决三例
- 无需客户端下载的方法/天翼云网页下载方法
- 这十大推广引流渠道,你做了几个?(一)
热门文章
- ❤️ 珊姐带你学JavaScript:数组和函数 (万文建藏)❤️
- NetBeans Collaboration (二) :MSN, Gtalk,Yahoo的All in One 客户端
- WPF4.0用tablet实现手写输入(更新XP SP3下也能手写输入方法)
- 初次联系导师短信模板_复试联系导师邮件怎么写?4个模板帮你解决!
- mysql count 百万级_MySQL 的 count(*) 的优化,获取千万级数据表的总行数
- 099.尼科彻斯定理
- 【学习篇】【C++】【函数对象】
- [学习笔记·翻译稿] Video Based Face Recognition by Using Discriminatively Learned Convex Models
- 为什么新闻稿发布效果不明显?
- thinkpad t440p 刷入 slic 2.1 , 安装证书和KEY, 自激活windows7