2021-1-21

1.Collection集合
1.1集合的体系结构

集合类的特点
提供一种存储空间可变的存储模型,存储的数据容量可以随时发生改变

集合类的体系在这里插入图片描述
1.2Collection集合概述和基本使用

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

Collection集合基本使用

public class CollectionDemo1{
public static void main(String[] args){
//创建Collection集合对象
Collection c=new ArrayList();
//添加元素:boolean add(E e)
c.add(“hello”);
c.add(“hi”);
}
}
1
2
3
4
5
6
7
8
1.3Collection集合的常用方法

boolean add(E e) 添加元素到集合末尾

boolean addAll(Collection c) 把一个集合中的所有元素添加到另一个集合中

boolean remove(E e) 移除指定的元素

void clear() 清空集合中的元素

boolean isEmpty() 判断集合是否为空

boolean contains(Object o) 判断集合是否包含指定的元素

int size() 获取集合的长度

public Object[] toArray() 把集合转化为数组
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
1.4Collection集合的遍历

迭代器的介绍
Iteratoriterator();返回此集合中元素的迭代器,通过集合的iterator()方法得到
注意:使用迭代器时不能对集合进行修改,否则出现并发修改异常ConcurrentModificationException ,解决方案:使用普通for循环

Collction集合的遍历

public class Iterator {
public static void main(String[] args) {
Collection c = new ArrayList<>();
//添加元素
c.add(“aaa”);
c.add(“bbb”);
c.add(“ccc”);
c.add(“ddd”);
//Iterator iterator():返回此集合中元素的迭代器,通过集合的iterator()方法得到
java.util.Iterator it = c.iterator();
//用while循环改进元素的判断和获取
while (it.hasNext()){
String next = it.next();
System.out.println(next);
}
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
1.5集合使用步骤图解

使用步骤
在这里插入图片描述

2.List集合
2.1List集合概述和特点

List集合概述

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

List集合特点
1.有索引
2.可以重复存储元素
3.元素存储有序

2.2List集合的特有方法

void add(int index,E element) 在此集合的指定位置插入指定元素

E remove(int index) 删除指定索引处的元素,返回被删除的元素

E set(int index,E element)修改指定索引处的元素,返回被修改元素

E get(int index) 返回指定索引处的元素
1
2
3
4
5
6
2.3增强for循环

定义格式
for(元素数据类型 变量名:数组/集合对象名){
循环体}
1
示例代码
public class Iterator {
public static void main(String[] args) {
Collection c = new ArrayList<>();
//添加元素
c.add(“aaa”);
c.add(“bbb”);
c.add(“ccc”);
c.add(“ddd”);
for (String s:c){
System.out.println(s);
}
}
}
1
2
3
4
5
6
7
8
9
10
11
12
内部原理是一个Iterator迭代器,所以遍历时不能修改集合

3.数据结构
数据结构指的是数据的组织方式,不同的集合存储元素特点不同,就是因为底层依赖于不同的数据结构。

栈: 先进后出(子弹匣)
队列:先进先出(排队安检)

数组:查询快增删慢
ArrayList就是数组结构
链表:查询慢增删快
LinkList就是链表结构
1
2
3
4
5
6
4.List集合的实现类
LinkedList底层是链表结构,相当于List而言多了一些针对头和尾操作的方法
List集合有序,可重重,存和取的顺序一致是队列结构
void addFirst(E e) 添加元素到集合第一个

void addLast(E e) 添加元素到集合最后一个

E removeFist() 移除集合的第一个元素

E removeLast() 移除集合的最后一个元素

E getFirst() 获取集合的第一个元素

E getLast() 获取集合最后一个元素

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值