0
点赞
收藏
分享

微信扫一扫

Java笔记(十二)

脱下愤怒的小裤衩 2022-03-12 阅读 82
java

目录

Collection

集合类体系结构

Collection集合概述和使用

Collection集合概述

创建Collection集合的对象

Collection的常用方法

 Collection集合的遍历——迭代器

iterator中的常用方法

 集合的使用步骤

  List集合概述和特点

 List集合概述

 List集合特点

 List集合的一些常用方法

List集合的子类

LinkedList集合特有的功能

并发修改异常

ListIterator(列表迭代器)

ListIterator中的常用方法

增强for循环

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

增强for的格式

 List集合存储学生对象并遍历

常见数据结构——栈

 ​

 常见数据结构——队列​

 常见数据结构——数组

常见数据结构——链表

链表是一个增删快,查询慢的模型(对比数组)链表存储数据的方式​

链表的大致结构

 链表增删数据的步骤


Collection

集合类体系结构

  • Collection集合概述和使用

Collection集合概述

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

创建Collection集合的对象

Collection的常用方法

方法名说明
boolean add(E e)

添加元素

boolean remove(Object o)从集合中移除指定的元素
void clear()清空集合中的元素
boolean contains(Object o)判断集合中是否存在指定的元素
boolean isEmpty()判断集合是否为空
int size()

集合的长度,也就是集合中元素的个数

addAll()添加多个元素
containsAll()查找多个元素是否存在
removeAll()删除多个元素

 Collection集合的遍历——迭代器

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

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

iterator中的常用方法

  • E next():返回迭代中的下一个元素(E为集合中元素的类型)
  • boolean hasNext():如果迭代具有更多元素,则返回true

 

 集合的使用步骤

  List集合概述和特点

 List集合概述

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

 List集合特点

  • 有序:存储和取出的元素顺序一致
  • 可重复:存储的元素可以重复

 List集合的一些常用方法

其中,E为集合元素的类型

方法名说明
void add(int index,E element)在此集合中的指定位置插入指定的元素
E remove(int index)删除指定索引处的元素,返回被删除的元素
E set(int index,E element)修改指定索引处的元素,返回被修改的元素
E get(int index)返回指定索引处的元素

注:索引和数组一样,都是从0开始记。

List集合的子类

ArrayList:底层数据结构是数组,查询快,增删慢

LinkedList:底层数据结构是链表,查询慢,增删快

LinkedList集合特有的功能

方法名说明
public void addFirst()在列表开头插入指定元素
public void addLast()在列表末尾添加指定元素
public E getFirst()返回此列表的第一个元素
public E getLast()返回此列表的最后一个元素
public E removeFirst()删除并返回列表中的第一个元素
public E removeLast()删除并返回列表中的最后一个元素

 

并发修改异常

iterator迭代器不能增删列表元素 但ListIterator迭代器可以

并发修改异常

  • ConcurrentModificationException

产生调用

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

解决方案

  • 用for循环遍历,然后用集合对象做对应的操作即可

ListIterator(列表迭代器)

ListIterator中的常用方法

方法名作用
E next()返回迭代中的下一个元素
boolean hasNext()如果迭代具有更多元素,则返回true
E previous()返回列表中的上一个元素
boolean hasPrevious()如果此列表迭代器在相反方向遍历列表时具有更多元素,则返回true
void add(E e)将指定元素插入列表

 

增强for循环

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

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

增强for的格式

for(元素数据类型 变量名:数组或者Collection集合){

  //在此处使用变量即可,该变量就是元素 

}

 

 List集合存储学生对象并遍历

需求:创建一个存储学生对象的集合,存储3个学生对象,使用程序实现在控制台遍历该集合

思路:

  1. 定义学生类
  2. 创建List集合对象
  3. 创建学生对象
  4. 把学生添加到集合
  5. 遍历集合

迭代器方式:集合特有的遍历方式        

普通for循环:带有索引的遍历方式

增强for循环:最简单的遍历方式

常见数据结构——栈

 

 常见数据结构——队列

 常见数据结构——数组

数组是一种查询快,增删慢的模型

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

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

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

常见数据结构——链表

链表是一个增删快,查询慢的模型(对比数组)

链表存储数据的方式

链表的大致结构

 

 链表增删数据的步骤

 

举报

相关推荐

0 条评论