(集合【Map、可变参数、Collections】)
来源:互联网 发布:知乎网站 源码 编辑:程序博客网 时间:2024/06/05 04:32
Map集合,存储键值对的集合
键和值对应
用作键的对象保证唯一性
一个键只能对应一个值
Map接口的子类HashMap
Map<k,v>
K,作用键的数据类型
v,作用值的数据类型
Map接口的方法
V put(k,v)键值对存储到集合
put方法返回值,一般情况向返回null
如果存储了重复的键,原来的值被覆盖put返回之前被覆盖的值
V get(K)根据键获取
键具有唯一性
集合中没有这个键
1.抛出异常
2.引用类型返回null
3.基本类型返回负数
V remove(K) 移除集合中的键值对
比返回被移除前的值
如果没有这个值,返回null
Map集合的遍历
Map集合中的所有的键,存储到Set集合
迭代Set集合,拿到的是Map的所有的键
步骤:
Map中的键,存储到Set集合,Map集合的方法keySet()
迭代器遍历Set集合,取出Set集合中元素
Set的元素是Map集合的键
Map的方法get,找到值
增强for 无法直接遍历Map
对象描述键值对对应关系对象
接口Entry的实现类就是对应关系对象
接口方法:
getKey()
getValue()
集合中键值对的映射关系遍历
Entry接口的实现类,有三个,实现类存储带Set集合
Map接口的方法entrySet()
迭代器
取出Set集合的元素,取出的是键值对的映射关系对象
Map接口的实现类HashMap
自身特点:
底层数据 是哈希表
无序的集合
保证键的唯一性,存储到键的对象,重写hashcode,equals
允许存储null,null键
线程不安全,允许速度快
HashMap集合,存储键值对
键是字符串,值是对象
Map接口实现类HashMap的子类LinkedHashMap
底层哈希表实现,双向链表
有序的集合,元素存储和去除的顺序一致的
线程不安全集合,运行速度快
Map接口的实现类Hashtable
底层哈希表,保证键的唯一性
不允许存储null,null键
线程安全,运行速度慢
被更先进的HashMap取代
但是:
Hashtable有个子类Properties,依然活跃在开发舞台
Map接口的实现类Hashtable子类Properties
集合本质是哈希表,Map集合的代码,全通用
集合的特点:
没有泛型的集合,键值对数据类型固定为String类型
和Io流配合使用
存储键值对的方法:setProperty(String Key,String value) 看做是Map的方法put
根据键获取值的方法:String getProperty(String Key)看做是Map的方法get
集合的键存储Set方法:Set<String> stringPropertyNames()看做是Map的方法KeySet
流中健在键值对到集合:load load(输入流),传递new FileReader
意义:流中读取文件中的键值对,存储到集合中
文件必须携程键值对形式K=V
遇到#,不读取
JDK1.5版本新特性:
方法的可变参数
功能要求:
方法中参数数据类型明确的,但是参数的个数未知的
可变参数的语法:数据类型...变量名(点就三个不能多不能少)
可变参数本质是数组
可以传递任意个数据
什么也不传递,数组的长度=0
方法可变参数注意:
一个方法,只能有一个可变参数
java.util.Collections工具类
静态类:
shuffle 对集合List,元素随机排列
sort 对List集合元素升序排列
binarySearch 二分查找法,折半查找
键和值对应
用作键的对象保证唯一性
一个键只能对应一个值
Map接口的子类HashMap
Map<k,v>
K,作用键的数据类型
v,作用值的数据类型
Map接口的方法
V put(k,v)键值对存储到集合
put方法返回值,一般情况向返回null
如果存储了重复的键,原来的值被覆盖put返回之前被覆盖的值
V get(K)根据键获取
键具有唯一性
集合中没有这个键
1.抛出异常
2.引用类型返回null
3.基本类型返回负数
V remove(K) 移除集合中的键值对
比返回被移除前的值
如果没有这个值,返回null
Map集合的遍历
Map集合中的所有的键,存储到Set集合
迭代Set集合,拿到的是Map的所有的键
步骤:
Map中的键,存储到Set集合,Map集合的方法keySet()
迭代器遍历Set集合,取出Set集合中元素
Set的元素是Map集合的键
Map的方法get,找到值
增强for 无法直接遍历Map
对象描述键值对对应关系对象
接口Entry的实现类就是对应关系对象
接口方法:
getKey()
getValue()
集合中键值对的映射关系遍历
Entry接口的实现类,有三个,实现类存储带Set集合
Map接口的方法entrySet()
迭代器
取出Set集合的元素,取出的是键值对的映射关系对象
Map接口的实现类HashMap
自身特点:
底层数据 是哈希表
无序的集合
保证键的唯一性,存储到键的对象,重写hashcode,equals
允许存储null,null键
线程不安全,允许速度快
HashMap集合,存储键值对
键是字符串,值是对象
Map接口实现类HashMap的子类LinkedHashMap
底层哈希表实现,双向链表
有序的集合,元素存储和去除的顺序一致的
线程不安全集合,运行速度快
Map接口的实现类Hashtable
底层哈希表,保证键的唯一性
不允许存储null,null键
线程安全,运行速度慢
被更先进的HashMap取代
但是:
Hashtable有个子类Properties,依然活跃在开发舞台
Map接口的实现类Hashtable子类Properties
集合本质是哈希表,Map集合的代码,全通用
集合的特点:
没有泛型的集合,键值对数据类型固定为String类型
和Io流配合使用
存储键值对的方法:setProperty(String Key,String value) 看做是Map的方法put
根据键获取值的方法:String getProperty(String Key)看做是Map的方法get
集合的键存储Set方法:Set<String> stringPropertyNames()看做是Map的方法KeySet
流中健在键值对到集合:load load(输入流),传递new FileReader
意义:流中读取文件中的键值对,存储到集合中
文件必须携程键值对形式K=V
遇到#,不读取
JDK1.5版本新特性:
方法的可变参数
功能要求:
方法中参数数据类型明确的,但是参数的个数未知的
可变参数的语法:数据类型...变量名(点就三个不能多不能少)
可变参数本质是数组
可以传递任意个数据
什么也不传递,数组的长度=0
方法可变参数注意:
一个方法,只能有一个可变参数
java.util.Collections工具类
静态类:
shuffle 对集合List,元素随机排列
sort 对List集合元素升序排列
binarySearch 二分查找法,折半查找
阅读全文
0 0
- (集合【Map、可变参数、Collections】)
- day09-集合【Map、可变参数、Collections】
- Java学习日记(九)Collection、泛型、Map集合、Collections&Arrays、增强for语句、可变参数、静态导入
- Java基础进阶_day08_(Map集合,可变参数)
- Java基础之集合框架(四)--Collections、Arrays、增强for循环、可变参数、静态导入
- 黑马程序员——>第十七天<集合(Collections-增强for循环-可变参数-静态导入)>
- Java基础之集合框架(四)--Collections、Arrays、增强for循环、可变参数、静态导入
- Java基础17:集合工具类Collections;高级for循环;静态导入;可变参数
- 集合collections(Arrays,aList,toArray) 高级for循环 可变参数 静态导入
- javaseday19补充(Collections 工具Utility 同步加锁原理 集合数组互转 可变参数 静态导入)
- 集合框架---Map、Collections、compare
- 集合(可变参数)
- 集合框架-可变参数
- 黑马程序员------集合(No.2)(Collections、Arrays、集合与数组转换、高级for、可变参数、静态导入)
- 工具类 Collections Arrays asList 数组变集合 集合变数组 高级for循环 可变参数 。。。 静态导入
- (10)Java泛型-Map集合-集合框架工具类-可变参数-静态导入
- 黑马程序员---集合-Map集合,Collections类
- 黑马程序员_day17 (Collections-sort-max-替换翻转,集合转成数组,增强for循环,可变参数,静态导入)。
- CentOS7操作系统下实现mysql数据库的主主复制
- MongoDB之开题
- Arduino的详细介绍(基于Mega2560)
- spring 事物的一些理解 推荐一个我认为Spring事物写得很好的文章。 文章链接:http://www.codeceo.com/article/spring-transaction
- flume01
- (集合【Map、可变参数、Collections】)
- Postgres error:You might need to increase max_locks_per_transaction
- Spring的Task定时任务
- ArrayList源码简单理解
- MYSQL命令创建并选择数据库
- 关于Arduino Mega2560的最基本介绍
- maven java resource 报错
- spring 事物的一些理解
- 2671 3-2 构造函数的调用