java第十七天总结 集合、比较器

1.collection

1.1概述

java集合是使得程序能够存储和操纵元素不固定的一组数据。所有java集合类都位于java.util包中

那么数组和java集合工具类的区别就是:

数组长度是固定的、                集合长度是不固定的

数组可以存放任意类型、        集合不能存放基本数据类型,只能存放对象的引用

注意:如果集合中存放基本类型,一定要将其“装箱”成对应的“基本类型包装类”.

1.2继承体系

 以上肉麻可以看出java集合类有清晰的继承关系,有很多字接口和实现类。但是并不是所有子接口或者实现类都是最常用的

常用的子接口和实现类:

Collection——List——ArrayList类

Collection——List——LinkedList类

Collection——Set——HashSet类

Collection——Set——SortedSet接口——TreeSet类

1.3常用方法

 1.4使用方式

 1.5 注意Contains和remove

Contains(数据):判断集合中是否包含某个元素

Remove(数据):删除指定元素

两个方法底层都会自动调用该对象的equals方法,因为不管是判断是否包含还是删除都要先找到这个数据,而找到只能比较但是集合中保存的都是引用类型,所以比较只能使用equals方法

所以如果存储的是自定义类型,就要考虑equals方法的复写问题

2.Iterator

2.1概述

 for与iterator对比

Iterator的好处在于可以使用相同的方式去遍历集合中的元素,而不用考虑集合类的内部实现

使用Irerator来遍历集合中元素,如果不再使用List转而书踢不过set来组织数据,则遍历元素的代码不用做任何修改

使用for来遍历,那所有遍历此集合的算法都应做相应调整,因为List游戏,Set无锡,结构不同,他们的访问算法也不一样

for循环需要下标

2.2常用方法

 2.3使用方式

 3.List

3.1概述

 3.2 ArrayList

 

 

 

3.2.1常用方法

 

 3.2.2遍历

 3.3LinkedList

3.3.1基本使用和方法

和ArrayList操作一模一样

 

3.3.2底层实现 

3.3.2.1 Node节点类

 

 

 3.3.2.2 LinkedList类

 3.3.2.3 add方法实现

 

 3.3.2.4 Get方法实现

 

 

 获取数据

 Get方法 只是模拟了下标获取数据的方式,本质就是遍历,从头挨个去找 所以可以理解为并不是下标,只是确定了循环的次数

而ArrayList的get才是根据下标获取

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值