Java 类集框架

类集框架主要作用是动态的保存多个对象数据,传统的对象数组存在大小固定的缺陷

先放一张Java 类集框架层级图

 

ç¸å³å¾ç

 

ç¸å³å¾ç

 

Collection单对象保存父接口

主要方法

add()增加数据

clear()清空数据

contains()是否包含某个数据

isEmpty()是否为空

remove()移除某个数据

size()获取集合中的数据个数

toArray()转换为对象数组

iterator()实例化父接口Iterator

对象数组使用remove()和contains()时要覆写对象中的equals()方法

Collection接口无法区分保存的数据是否重复,主要使用它的两个子接口List和Set

 

List接口

List子接口对Collection父接口的功能进行了扩充,它的最大特点是数据可重复

get()获取索引对应的数据

set()修改索引对应的数据

listIterator()实例化ListIterator接口的对象

 

List接口最常用子类ArrayList

特点:采用异步处理,查询速度快,增删数据慢

List接口旧的子类Vector

特点:采用同步处理,速度慢

Vector的子类Stack

栈,采用先进后出的数据结构

常用方法:

push()入栈,存放数据

pop()出栈,取出栈顶数据

List接口子类LinkedList

特点:增删数据快,查找数据慢

 

Set接口

简单的继承了Collection接口,数据不重复

 

Set接口子类HashSet

特点:无序,查找速度快

Set接口子类TreeSet

特点:有序

排序是通过对象所对应的类实现比较强接口Comparable实现的

重复元素的清除依靠类覆写hashCode()和equals()方法实现

 

集合的输出4种

迭代输出Iterator

集合对象获取Iterator接口的实例

Iterator主要的方法:

hasNext()是否还有内容

next()取出当前内容

双向迭代输出ListIterator

支持从后向前的输出,还支持了数据的增删改,实际开发中很少用到

Foreach输出

利用Foreach直接输出集合中的数据

枚举输出Enumeration

早期配合Vector进行数据输出的方法

 

偶对象保存(键值对保存)Map接口

Map用于保存一对关联数据key=value

常用方法:

put(key,value)添加数据

get(key)取出key对应的value

entrySet()转为Set集合

keySet()只将key转为Set集合

 

key对象的类需要覆写contains()和equals()

 

Map接口子类HashMap

特点:key不重复,无序,异步操作

Map接口子类HashTable

早期的一个子类

特点:key,value不为空,同步操作

HashTable的子类Properties

特点:key,value均为String型

常用方法:

setProperty(key,value)存放数据

getProperty(key,default)获取key对应的value,可以设置key不存在时默认值

store(OutputStream,comment)通过输出流保存数据,可以设置备注

load(InputStream)通过输入流读取数据

 

Map的输出

Map.Entry接口实现

getKey()

getValue()

setValue()

先将Map.entrySet()转Set,再Set.iterator()获取Iterator对象,然后从Iterator中获取Map.Entry,再从Map.Entry获取键,值数据

 

Collections集合的工具类

为了方便性而增加的,可以操作List,Set,Map

常用方法

addAll()增加数据

binarySearch()二分法查找数据(二分法要先进行数据排序)

copy()集合的复制

reverse()集合反转

sort()集合排序

 

Stream数据流

将集合转为数据流进行操作与输出

常用方法:

count()获取数据个数

distinct()消除重复数据

filter()数据过滤

skip()跳过数据个数

limit()设置取出数据的个数

allMatch()数据匹配

anyMatch()数据匹配,匹配任一一个

 

MapReduce大数据操作的开发模型(不太懂,待写)

Stream中也有相关方法

map()数据处理,reduce()数据分析

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值