Java集合框架

在这里插入图片描述
在这里插入图片描述

Java 集合可分为 Set、List 和 Map 三种体系
Set:无序、不可重复的集合,set又是以map为底层实现
List:有序,可重复的集合,list接口是以数组为底层实现,是有序的
Map:具有映射关系的集合,key-value(键值对),map接口底层是hash函数,无续(不是随机)
List:
1.List是collection的子接口
2.ArrayList的List的实现类,
3.有序的可重复的
4.List 代表一个元素有序、且可重复的集合,集合中的每个元素都有其对应的顺序索引
5.List 允许使用重复元素,可以通过索引来访问指定位置的集合元素。
6.List 默认按元素的添加顺序设置元素的索引
7.LinkedList类采用链表存储方式。插入、删除元素时效率比较高
Set接口
1.Set接口存储一组唯一,无序的对象。
2.HashSet 是Set接口常用的实现类。
3.HashSet允许集合元素值为null,操作数据的方法与List类似,Set接口不存在get()方法。
4.Iterator接口表示对集合进行迭代的迭代器,专门实现集合的遍历。
方法:
hasNext():判断是否存在另一个可访问的元素
next():返回要访问的下一个元素
HashSet 实现类
迭代器的使用,遍历集合数组
Set没有get(位置)方法
Iterator 接口主要用于遍历 Collection 集合中的元素,Iterator 对象也被称为迭代器。
Iterator 接口隐藏了各种 Collection 实现类的底层细节,向应用程序提供了遍历 Collection 集合元素的统一编程接口。
Iterator 仅用于遍历集合,Iterator 本身并不提供存放对象的能力。如果需要创建 Iterator 对象,则必须有一个被迭代的集合。
Map
HashMap是Map接口中最常见的实现类。
存储一组成对的键-值对象,提供key(键)到value(值)的映射,通过key来索引
key不允许重复
value允许重复
添加的对象将转换为Object类型
Map(String key,object value) a、成对 b、替换实体类的容器(键值对是可控的固定的)
List Set(Object)–>a\单个的 b\持续增长
map接口
1.存放key-value数据
key,不可以重复(底层使用set)
value,可以重复 底层使用的collection接口
2.实现类
HashMap
LinkedHashMap
TreeMap
HashTable (不再使用)线程安全的容器
Properties子类,做键值对文件读取
3.常用方法
put(key,value)
get(key)返回object
size();
keySet();返回一个Set容器,含义:获取所有的key
values();
泛型
1.在集合中使用泛型
2.泛型类
3.泛型方法
格式
class 类名<>{
修饰符 字母T 属性;
修饰符 字母T 方法(字母T )
}
4.泛型接口 模拟dao层接口
5.通配符?
List<? super number> ?必须是number的子类
lambda 表达式,把代码变得更加简单 可读性比较差 Scala(spark)
lambda 表达式使用方式
1.简化匿名内部类的编写。
2.直接实现接口中的函数
3.函数名(参数列表)
4.函数实现用–> 表示实现 {}表示实现的就逻辑
5.用接口去声明使用
Java高级特性 Stream流方式处理集合(把一个数据集中的元素,并行聚集处理)

b d j b u n b b e t —>spit(" ")–>a:4,b:5

Stream(elements)–>filter(过滤spit)–>sorted()–>map()–>collect()
elements流的来源: 1)集合 list map set 2)数组 内存(I/O通道) 3)文件
stream的使用,就是实现一个filter-map-reduce过程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值