我的学习之路_第八章_map集合

【Map集合】

Map集合中常用方法:

1: 返回值:value值 put(K key, V value) 往Map集合中添加元素,如果key值重复,那么将返回被覆盖的value值.
2: 返回值:value值 get(Object key) 传入一个key值,返回相对应的value值.如果没有,则返回null.
3: 返回值:value值 remove(Object key) 传入一个key值,删除此key值与相对应的value值.返回被删除的value值.

Map集合的特点:
1:Map集合是一个双列集合,赋值的时候必须同时给key值和value值赋值.
2:Map集合是一个无序集合.
3:Map集合的key值不可以重复,value值可以重复.
4:Map集合中一个key值只能对应一个value值.
5:定义Map集合时,key和value可以使用相同的数据类型,也可以使用不同的数据类型.

Map集合的第一种遍历方式:(通过键查找值的方式)

返回值 Set<K> keySet() 返回此映射中包含的键的Set视图. 把Map集合中的键存储到一个Set集合中

遍历Map集合的步骤:

1:定义Map集合,往集合中添加元素.(put方法添加元素)
2:调用Map集合中的方法keySet,把Map集合中的键存储到一个Set集合中
3:遍历Set集合,获取Map集合所有的键值.
4:通过获取到的键,使用Map集合的方法get查找到对应的key值.

Map集合的第二种遍历方式:(遍历键值对的方式)

返回值 Set<Map.Entry<K,V>> entrySet() 返回此映射中包含的映射关系的Set视图

遍历Map集合的步骤:

1:定义一个Map集合,往集合中添加元素.(用put方法)
2:调用Mao集合中的方法 entrySet ,把Map集合中的每一个映射关系(结婚证)放入到Set集合中.
3:遍历Set集合,获取每个映射关系 Entry<K,V>.
4:使用 Entry<K,V> 中的方法 getKey 和 getValue 获取键和值

★注意:使用自定义类型作为Map集合的键Key 时, 必须要重写hashcode 和 equals . 来保证key 的唯一性.

Map集合中的实现类:

◆ HashMap<K,V> 线程不安全,运行速度快

底层数据结构是哈希表,特点 无序.由于要保证键的唯一,不重复,需要重写键的 hashcode() 方法 和 equals()方法.

◆ LinkedHashMap<K,V> 继承(extends) HashMap

底层数据结构为哈希表_链表结构.特点: 有序,不重复.由于要保证键的唯一,不重复,需要重写键的 hashcode() 方法 和 equals()方法.

◆ Hashtable 线程安全,运行速度慢

和HashMap一样. JDK1.2开始被 HashMap取代. 特点 不能存 null 值.

虽然Hashtable被取代了,但是他的子类 Properties 依然活跃在开发的舞台.

可变参数:

JDK1.5之后出来的新特性. 可以接受多个同类型的参数.
底层就是一个数组

格式: 修饰符 返回值类型 方法名 (参数类型...形参名){ }

★注意: 1:一个方法的参数,只能使用一个可变参数
2:如果方法的参数有多个,可变参数必须写在参数列表的末尾.

Arrays数组工具类:

用来对数组进行操作,是一个静态方法,直接类名.方法名调用.

返回值:Object binarySearch(Object[] a, Object key) 使用二分法查找法来查找指定的元素,没有则会返回(1(插入点)-1).
返回值:Object[] copyOfRange(旧数组,要复制的开始索引,新数组,索引,复制几个) 将指定的数组的指定返回复制到一个新的数组.
sort(Object[] o) 对指定的数组进行升序排序
返回值:String tostring(Object[] o) 返回指定数组内容的字符串表示形式.

Collections集合工具类:

用来对集合进行操作,是一个静态方法. 直接类名.方法名调用.

没有返回值 shuffle(List<?> list) 将集合中的顺序打乱.
没有返回值 sort(List<T> list) 传一个集合,对集合进行升序排序.

时间: 2024-08-13 23:29:15

我的学习之路_第八章_map集合的相关文章

我的学习之路_第十八章_SQL语句

SQL语句 启动数据库: net start mysql 关闭数据库: net stop mysql 登录数据库 : cmd-->命令行-->mysql-->mysql -u账号 -p密码 [创建和删除数据库] 使用关键字 : create(创建) database(数据库) 格式: create database 数据库名; create database 数据库名 character set 字符集; ●--查看mysql中所有的数据库 show database; ●--查看某个数

我的学习之路_第二十八章_JQuery 和validator插件

jQuery 利用jQuery进行遍历 js原生: for(var i=0;i>?;i++){ } jQuery: 方式一: 想要遍历的jQuery对象.each(function(index,dom){ }); 方式二: $.each(想要遍历的jQuery对象,function(index,dom){ }); 操作元素的值或者标签体 xxx():获取操作 xxx("值"):设置 获取或设置值: val(); 获取或设置标签体: html() 获取或设置标签体: text()

我的学习之路_第七章_list集合,set集合

[List集合] List集合存储数据的结构 堆栈:先进后出(先存进来的元素,最后取出) 例如:子弹压进弹夹 队列:先进先出(先存进来的元素,先取出来) 例如:排队 『ArrayList』 数组:查找元素快,增删元素慢 有索引 『LinkedList』 链表:查找元素慢,增删元素快 没有索引,连接的是节点 例如:手拉手 List接口方法_带索引的 add(int index ,E e) 在指定的索引上添加元素 remover(int index) 移除并返回指定索引上的元素 set(int in

我的学习之路_第二十三章_HTML

Html : 超级文本语言 ( Hyper text Markup Language ) HTML 文件扩展名是 * .html HTML 结构都是有标签组成 通常情况下标签有开始标签和结束标签组成 例如 : <a> </a> 围堵标记 如果没有结束标签,不能写文本 例如<img/> 空标记 标签中可以有属性 属性的书写格式: 属性名= "属性值"; 文字类标签: <hn> </hn> n是一个可变参数 n的取值范围1-6 ,

我的学习之路_第二十二章_事务

JDBC事务 [事务] 作用: 保证多条SQL语句,要么都执行成功,要么都执行失败. mysql数据库,执行SQL语句,自动开启事务,提交事务,回滚事务,把数据永久保存 oracle数据库,执行SQL语句,手动开始会务,提交事务,回滚事务,把数据永久保存. Connection接口中和事务有关的方法: 无返回值 setAutoCommit(boolean autoCommit) 将此连接的自动提交模式设置为给定状态. 参数:autoCommit : true表示自动提交模式, false表示禁用

我的学习之路_第三十二章_HttpServletRequest

HttpServletRequest 取得请求行的信息: 返回值 : String getMethod() 请求方式 返回值 : String getRequestURI()请求目标 返回值 : String getProtocol() 使用协议 取得请求头的信息: 返回值 : String getHeader(String name) 传一个请求头的key值,返回一个请求头的value值 返回值 : String getHeaderNames(String name) 取得所有请求头的名字,封

我的学习之路_第二十七章_jQuery

jQueryjs类库 把常用对象或者方法封装起来,让我们写代码效率更高 1.jQuery 2.extjs [jQuery入门] jQuery的引入: 通过script标签的src属性引入 入门: 获取jQuery对象 $(选择器) == jQuery(选择器) 获取值 jQuery.val(); jQuery对象和Dom对象的转换 Dom对象转jQuery对象 : var jQuery对象 = $(dom对象); jQuery对象换Dom对象 : 方式一: var Dom = jQuery对象[

我的学习之路_第十七章_JavaUtils

[BeanUtils工具类] javaBaen : Java和数据库所对应关系实体类 表(Utils)-->类(User) 表中的列-->类中字段(属性) 表中的行-->根据类创建的对象 javaBean包含: 1.私有的成员变量 2.公共的getter/setter方法 3.空参数构造方法 4.toSting方法 5.实现序列化接口 BeanUtils工具类的三个方法:(工具类的方法都是静态的,直接类名.方法调用) 没有返回值 setProperty(Object obj ,Strin

我的学习之路_第六章_迭代器,泛型

[Collection] 类 接口类 所属包:java.util.Collection Collection类是集合的最顶层的接口,定义了集合共性的方法. 接口无法创建对象,使用多态的方式创建对象 Collection<集合中的数据类型(泛型)> 变量名 = new ArrayList<集合中的数据类型(泛型)>(); Collection接口常用子类接口有: List接口 set接口 List接口常用子类有: ArrayList类 LinkedList类 set接口常用的子类有: