Collection、List、ArrayList、常见数据结构

时间:2021-04-07 11:12:00   收藏:0   阅读:0

Collection、List、ArrayList、常见数据结构

集合与数组有什么不同?

  1. 数组的长度是固定的,不能变化。集合可以变化
  2. 内容不同
    1. 数组存储的同一种类型的元素
    2. 而集合可以存储不同类型的元素
  3. 元素的数据类型问题
    1. 数组可以存储基本数据类型,也可以存储引用数据类型
    2. 集合只能存储引用类型

不同的集合类数据结构不同

数据结构:就是数据的存储方式;

集合的继承体系

技术图片

java.utilCollection

技术图片

Collection的交集功能:

集合的遍历:

其实就是依次获取集合中的每一个元素

  1. Object[ ] toArray :把集合转为数组,可以实现集合的遍历

  2. Iterator iterator():集合迭代器,集合的专用遍历方式

    1. Object next():获取元素,并移动到下一个位置

    2. boolean hasNext();
      如果仍有元素可以迭代,则返回 true。(换句话说,如果 next 返回了元素而不是抛出异常,则返回 true)。 
      
    3. 技术图片

技术图片

迭代器为什么不定义成一个类,而是一个接口?

技术图片

技术图片

每个具体集合都有各自的iterator方法

List集合

list接口集合特点

有序的(存进去和取出来的顺序是一样的),可重复的

List接口的特有功能

技术图片

List集合的特有遍历功能(普通for循环)

技术图片

常见数据结构!

栈:先进后出

技术图片

队列:先进先出

技术图片

数组:查询快,增删慢

技术图片

链表:查询慢,增删快

技术图片

红黑树:

生活中的树:

技术图片

计算机中的树(倒着)

技术图片

二叉树:分支不能超过两个

技术图片

排序树/查找树:

技术图片

平衡树:左孩子和右孩子相等

不平衡树:左孩子 != 右孩子

技术图片

红黑树

特点:趋近于平衡树,查询的速度非常快,查询叶子节点最大次数和最小次数不能超过2倍

技术图片

List的子类特点

ArrayList:

Vector:

LinkedList:

ArrayList集合:

1、去除集合中的重复值(字符串的内容相同)

技术图片

2、去除集合中自定义对象的重复值(对象的成员变量都相同)

技术图片

Vector集合:

LinkedList的特有功能

技术图片

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!