Java-类集概述

类集设置的目的

  • 对象数组存在一些问题,其中最大的问题在于数组中的元素个数是固定的,不能动态的扩充大大小,最早的时候可以通过链表实现一个动态对象数组。但是操作麻烦,所以java为方便操作各个数据结构,引入了类集的概念
  • 有时候可以把类集称为java对数据结构的实现
  • 类集中有最大的几个操作接口:Collection、Map、Iterator(迭代器)

补充

  • 抽象数据类型:表示数学中抽象出来的一些操作的集合
  • 内存结构:内存中的结构,如:struct、特殊内存块等等

链表

  • 链表是由一组不必相连(可以连续也可以不连续)的内存结构(节点),按特定的顺序连接在一起的抽象数据类型

  • 链表优缺点:

    • 优点:
      • 空间没有限制
      • 插入删除元素很快
    • 缺点:
      • 存取速度慢
  • 链表 和数组的区别:

    • 数组
      • 数组是一种连续存储性结构,元素类型相同,大小相等
      • 优点:
        • 存储速度快
      • 缺点:
        • 事先必须知道数组的长度
        • 插入删除元素很慢
        • 空间通常有限
        • 需要大块连续的内存
        • 插入删除元素的效率很低
    • 链表是离散存储线性结构
      • n个节点离散分配,彼此通过指针相连,每个节点只有一个直接前驱,只有一个直接后继。首节点没有前驱节点,尾结点没有后继节点
链表 分类:
  • 单链表:由各个内存结构通过一个 Next 指针链接在一起组成,每一个内存结构都存在后继内存结构(链尾除外),内存结构由数据域和 Next 指针域组成

    class Node{
    	Object data;
        Node next;
    }
    
  • 双向链表:双向链表 [Double Linked List]:由各个内存结构通过指针 Next 和指针 Prev 链接在一起组成,每一个内存结构都存在前驱内存结构和后继内存结构(链头没有前驱,链尾没有后继),内存结构由数据域、rev 指针域和 Next 指针域组成。

  • 循环链表

    • 单向循环链表:单向循环链表 [Circular Linked List] : 由各个内存结构通过一个指针 Next 链接在一起组,一个内存结构都存在后继内存结构,内存结构由数据域和 Next 指针域组成。

    • 双向循环链表:双向循环链表 [Double Circular Linked List] : 由各个内存结构通过指针 Next 和指针

      Prev 链接在一起组成,每一个内存结构都存在前驱内存结构和后继内存结构,内存结构由数据域、Prev 指针域和 Next 指针域组成。

二叉树

class Node{
    Object data;
    Node left;
    Node right;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只小白小小白小白鼠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值