集合进阶(接口Collection(迭代器、增强for、Lambda表达式)、List中常见的方法和五种遍历方式、数据结构(栈、队列、数组、链表)、ArrayList、LinkedList集合

一、单列集合顶层Collection

  • List系列集合:添加的元素是有序、可重复、有索引
  • Set系列集合:添加的元素是无序、不重复、无索引

 Collection是单列集合的祖宗接口,它的功能是全部单列集合都可以继承使用的。

Collection的遍历方式

1、迭代器——迭代器不依赖索引

迭代器遍历

迭代器在Java中的类是Iterator,迭代器是集合专用的遍历方式

细节注意点:
1,报错NoSuchElementException

2,迭代器遍历完毕,指针不会复位

3,循环中只能用一次next方法
4,迭代器遍历时,不能用集合的方法进行增加或者删除

2、增强for

  • 增强for的底层就是迭代器,为了简化迭代器的代码书写的。
  • 修改增强for中的变量,不会改变集合中原本的数据。

增强for遍历

  • 增强for的底层就是迭代器,为了简化迭代器的代码书写的。
  • 它是JDK5之后出现的,其内部原理就是一个Iterator迭代器
  • 所有的单列集合和数组才能用增强for进行遍历。

3、Lambda表达式

Lambda表达式的遍历

二、List中常见的方法和五种遍历方式

1、List集合的特点

  • 有序:存和取的元素顺序一致
  • 有索引:可以通过索引操作元素
  • 可重复:存储的元素可以重复

1、List集合的特有方法

  • Collection的方法List都继承了
  • List集合因为有索引,所以多了很多索引操作的方法。

2、List系列集合中的两个删除方法

2、List集合的五种遍历方式及五种遍历方式对比

1、迭代器遍历

2、列表迭代器遍历

3、增强for遍历

4、Lambda表达式遍历

5、普通for循环(因为List集合存在索引)

三、数据结构(栈、队列、数组、链表)

1、数据结构概述

数据结构是计算机底层存储、组织数据的方式。
是指数据相互之间是以什么方式排列在一起的。
数据结构是为了更加方便的管理和使用数据,需要结合具体的业务场景来进行选择。
一般情况下,精心选择的数据结构可以带来更高的运行或者存储效率。

 

问题:1.每种数据结构长什么样子?

           2.如何添加数据?

           3.如何删除数据?

2.常见的数据结构

①栈   ②队列    ③数组     ④链表     ⑤二叉树      ⑥二叉查找树       ⑦平衡二叉树    ⑧红黑树

1、数据结构(队列和栈小结)

2、数据结构(数据)

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

  • 查询速度快:查询数据通过地址值和索引定位,查询任意数据耗时相同。(元素在内存中是连续存储的)
  • 删除效率低:要将原始数据删除,同时后面每个数据前移。
  • 添加效率极低:添加位置后的每个数据后移,再添加元素。

3、数据结构(链表)

 

3、ArrayList集合底层原理

4、LinkedList集合

  • 底层数据结构是双链表,查询慢,增删快,但是如果操作的是首尾元素,速度也是极快的。
  • LinkedList本身多了很多直接操作首尾元素的特有API。

 5、LinkedList和迭代器的源码分析

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值