[Day20]Map接口、可变参数、Collections
1.Map接口-元素成对存在,每个元素由健与值两部分组成,通过键可以找所对应的值
1.1 Map子类
(1)HashMap<K,V>:存储数据所用的哈希表结构,元素的存取数据顺序不能保证一致。由于要保证键的唯一、不重复,需要重写键的hashCode()方法、equals()方法
(2)LinkedHashMap<K,V>:HashMap下的子类,存储数据采用的是哈希表结构+链表结构,通过链表结构保证元素的存取顺序一致,通过哈希表结构保证键的唯一、不重复,需要重写键的hashCode()方法、equals()方法
1.2 Map接口中的常用方法
(1)put方法:将指定的键与值对应起来,并添加到集合中
返回值为键所对应的值,若指定的键在集合中没有,返回null;
(2)get方法:获取指定键(key)所对应的值(value)
(3)remove方法:根据制定的键(key)删除元素,返回被删除元素的值(value)
1.3 Map集合遍历键找值方式
(1)利用keySet()方法,获取Map集合中所有的键,由于键是唯一的,所以返回一个Set集合存储所有的键
(2)遍历键的Set集合,得到每一个键
(3)根据键利用get(Object key)方法,获取键所对应的值
1.4 Entry键值对对象-将键值对的对应关系封装成对象
(1)Map.Entry<K,V> -Map接口中提供的一个静态内部嵌套接口
getKey()方法 - 返回与此项对应的键
getValue()方法 - 返回与此项对应的值
entrySet()方法 - 返回Map集合中所有的键值对(Entry)对象,以Set集合形式返回
(2)利用Entry接口实现遍历方式
利用entrySet()方法存储键值对对象Set集合
通过调用迭代器或foreach遍历,调用getKey()和getValue()方法读取
(3)Map集合不能直接使用迭代器或者foreach进行遍历。需要转换成Set集合
1.5 HashMap存储自定义类型键值
(1)当给HashMap中存放自定义对象时,若自定义对象作为key存在,为保证对象唯一,需要重写对象的hashCode和equals方法
(2)要保证顺序的一制,可以使用LinkedHashMap集合存放
1.6 静态导入-导入静态部分,某个类的静态成员可以直接使用,简化代码
格式:import static XXX.YYY; 导入后YYY可以直接使用
1.7 可变参数-一个方法需要接受多个参数,且多个参数类型一致
(1)格式: 修饰符 返回值 方法名(参数类型...形参名){ }
(2)参数中只能有一个可变参数
(3)当方法拥有多参数时,参数中包含可变参数,可变参数一定要写在参数列表的末尾位置
2.Collections集合工具类
(1)public static<T> void sort(List<T> list) //集合元素排序
调用:Collections.sort(list)
(2)public static void shuffle(List<?> list) //集合元素存储位置打乱
调用如上
3.集合嵌套-Collection集合嵌套、Collection集合和Map集合相互嵌套、Map集合嵌套
[Day20]Map接口、可变参数、Collections的更多相关文章
- 20_集合_第20天(Map、可变参数、Collections)_讲义
今日内容介绍 1.Map接口 2.模拟斗地主洗牌发牌 01Map集合概述 A:Map集合概述: 我们通过查看Map接口描述,发现Map接口下的集合与Collection接口下的集合,它们存储数据的形式 ...
- 11、Map、可变参数、Collections
Map接口 Map集合概述 *A:Map集合概述: 我们通过查看Map接口描述,发现Map接口下的集合与Collection接口下的集合,它们存储数据的形式不同 a:Collection中的集合,元素 ...
- 集合(Map、可变参数、Collections)
集合 第1章 Map接口 1.1 Map接口概述 我们通过查看Map接口描述,发现Map接口下的集合与Collection接口下的集合,它们存储数据的形式不同,如下图. l Collection中的集 ...
- java基础(20):Map、可变参数、Collections
1. Map接口 1.1 Map接口概述 我们通过查看Map接口描述,发现Map接口下的集合与Collection接口下的集合,它们存储数据的形式不同,如下图. Collection中的集合,元素是孤 ...
- Map、可变参数、静态导入、Collections、Arrays、集合嵌套
Map双列集合 key 键 value 值 方法: put(K, V) //判断key值是否相等,相等,覆盖元素,不相等,存储 remove(K) Map集合的遍历(不要看到java提供了很多方法做一 ...
- HashMap和Hashtable的区别--List,Set,Map等接口是否都继承自Map接口--Collection和Collections的区别
面试题: 1.HashMap和Hashtable的区别? HashMap:线程不安全,效率高,键和值都允许null值 Hashtable:线程安全,效率低,键和值都不允许null值 ArrayList ...
- JAVA基础学习之 Map集合、集合框架工具类Collections,Arrays、可变参数、List和Set集合框架什么时候使用等(4)
package com.itcast.test20140113; import java.util.ArrayList; import java.util.Arrays; import java.ut ...
- Java自学第6期——Collection、Map、迭代器、泛型、可变参数、集合工具类、集合数据结构、Debug
集合:集合是java中提供的一种容器,可以用来存储多个数据. 集合和数组既然都是容器,它们有啥区别呢? 数组的长度是固定的.集合的长度是可变的. 数组中存储的是同一类型的元素,可以存储基本数据类型值. ...
- 零基础学习java------day14-----泛型,foreach,可变参数,数组和集合间的转换,Set,Map,
1.泛型(jdk1.5以后出现) https://www.cnblogs.com/lwbqqyumidi/p/3837629.html#!comments (1)为什么要用泛型? 限制集合,让它只能存 ...
随机推荐
- springMVC源码笔记
springMVC 设计总览 下图来源:https://www.cnblogs.com/fangjian0423/p/springMVC-directory-summary.html 下图来源:htt ...
- WebService - 基础概念
一.WebService到底是什么 一言以蔽之:WebService是一种跨编程语言和跨操作系统平台的远程调用技术. 所谓跨编程语言和跨操作平台,就是说服务端程序采用java编写,客户端程序则可以采用 ...
- Django组件-forms
forms组件 校验字段功能 针对一个实例:注册用户 模型:models.py class UserInfo(models.Model): name=models.CharField(max_leng ...
- 轮播swiper配置选项
本文主要介绍了swiper配置选项,包含了轮播的无限滚动.懒加载.监听当前位置.上下翻页.过渡动画渐变.延时加载图片.自动轮播等: swiper官方链接DEMO <!DOCTYPE html&g ...
- Jace Config
一.jace配置 1.按照Jace 的默认IP配置自己电脑的IP网段(同一个网段),连接上之后使用默认的密码登录,导入tridiumEMEA…..的授权文件,之后创建Station,选择需要的协议驱动 ...
- OrCAD Capture CIS 16.6 将版本16.6的设计文件另存为版本16.2的设计文件
操作系统:Windows 10 x64 工具1:OrCAD Capture CIS 16.6-S062 (v16-6-112FF) 启动OrCAD Capture CIS,打开.dsn设计文件,右击该 ...
- 如何在cocos中为节点添加监听事件
一般在监听键盘事件时,可是采用以下方式来监听键盘事件: 以及记得定义取消监听的函数(这个摧毁函数会自己调用吗?): 同时这里还有一种传统的监听方式: 但是cocos官方的文档建议我们不要使用这种方式, ...
- Shell 编程详解
部分引用自:https://blog.csdn.net/qq_22075977/article/details/75209149 一.概述 Shell是一种具备特殊功能的程序,它提供了用户与内核进行交 ...
- Mapreduce概述和WordCount程序
一.Mapreduce概述 Mapreduce是分布式程序编程框架,也是分布式计算框架,它简化了开发! Mapreduce将用户编写的业务逻辑代码和自带默认组合整合成一个完整的分布式运算程序,并发的运 ...
- Git permission denied(public key) 解决方法
1. 在Linux上: # ssh-keygen ##一定用 id_rsa.pub # cat /root/.ssh/id_rsa.pub 2. copy 整个文件内容到剪切板 3. 打开 ...