JavaSE集合

文章目录
写在前面
一、Collection(集合)
集合类体系结构
Collection集合概述和使用
Collection集合常用方法
Collection集合的遍历
二、List
List集合的概述和特点
List集合的特有方法
并发修改异常
ListIterator
增强for循环
常见数据结构之栈
常见数据结构之队列
常见数据结构之数组
常见数据结构之链表
List集合子类特点
LinkedList集合的特有功能

一、Collection(集合)
集合类体系结构
单列集合:Collection
可重复:List
ArrayList
LinkList
不可重复:Set
双列集合:Map
Collection集合概述和使用
Collection集合概述

是单例集合的顶层接口,它表示一组对象,这些对象也称为Collection的元素
JDK不提供此接口的任何直接实现,它提供更具体的子接口(如Set和List)实现
创建Collection集合的对象

多态的方式
具体的实现类ArrayList

Collection集合常用方法

Collection集合的遍历
lterator:迭代器,集合的专用遍历方式

Iterator< E > iterator:返回此集合中元素的迭代器,通过集合的iterator()方法得到
迭代器是通过集合的iterator()方法得到的,所以我们说它是依赖于集合而存在的
lterator中的常用方法

E next():返回迭代中的下一个元素
boolean hasNext():如果迭代具有更多元素,则返回true
二、List
List集合的概述和特点
LIst集合概述

有序集合(也称为序列),用户可以精确控制列表中每个元素的插入位置。用户可以通过整数索引访问元素,并搜索列表中的元素
与Set集合不同,列表通常允许重复的元素
List集合特点

有序:存储和取出的元素顺序一致

可重复:存储的元素可以重复

List集合的特有方法

List<String> list = Arrays.asList("a","b","c");

注意:

(1)该方法适用于对象型数据的数组(String、Integer...)

(2)该方法不建议使用于基本数据类型的数组(byte,short,int,long,float,double,boolean)

(3)该方法将数组与List列表链接起来:当更新其一个时,另一个自动更新

(4)不支持add()、remove()、clear()等方法
    
用此方法得到的List的长度是不可改变的

补充一个List集合转数组



并发修改异常

 

ConcurrentModificationException

产生原因

迭代器遍历的过程中,通过集合对象修改了集合中元素的长度,造成了迭代器获取元素中判断预期修改值和实际修改值不一致

ListIterator
Listlterator:列表迭代器

 


增强for循环
增强for:简化数组和Collection集合的遍历

实现lterable接口的类允许其对象成为增强型for语句的目标
它是JDK5之后出现的,其内部原理是一个lterator迭代器
增强for的格式
格式:


常见数据结构之栈
栈是一种先进后出的模型

 

数据进入栈模型的过程称之为:压/进栈

数据离开栈模型的过程称之为:弹/出栈

常见数据结构之队列
队列是一种先进先出的模型

常见数据结构之数组
数组是一种查询快,增删慢的模型

查询速度快查询数据通过索引定位,查询任意数据耗时相同,查询效率高

删除数据时,要将原始数据删除,同时后面每个数据前移,删除效率低

添加数据时,添加位置后的每个数据后移,再添加元素,添加效率极低

常见数据结构之链表
链表是一种增删快的模型(对比数组)

ps:因为链表每次查询都要从头开始查

链表是一种查询慢的模型(对比数组)

List集合子类特点
List集合的常用子类:ArrayList、LinkedList

ArrayList:底层数据结构是数组,查询快,增删慢
LinkedList:底层结构是双链表,查询慢,增删快
LinkedList集合的特有功能

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值