Collection集合(集合概念的简单理解及数据结构的简单理解)

Collection集合(简单理解)

Collection接口 :
是单列集合最顶层的接口。
定义了所有单列集合中的共性方法,但是里面没有带索引(下标)的方法。

List 接口 继承(extends) Collection 接口
1、是有序集合(存储和取出的元素相同)。
2、允许存储重复元素。
3、有索引,可以进行循环遍历。

  • ArrayList :底层是数组实现的,查询快,增删慢。线性不安全的。

  • LinkedList :底层是链表实现的,查询慢,增删快。线性不安全的。

  • Vector: 底层也是数组实现的,线性安全的。

Set 接口 继承(extends) Collection 接口
1、不能存储重复元素。
2、没有索引,(不能使用普通的for循环遍历)

  • HashSet :底层是哈希表+红黑树实现的,无索引,不可以存储重复元素,存取无序。

  • LinkedHashSet:底层是哈希表+链表实现的,无索引,不可存储重复元素,但可以保证存取顺序。

  • TreeSet :底层是二叉树实现的。

    上面提到了数组、哈希表、链表、红黑树、二叉树。此时就需要简单知道一下数据结构的概念了。
    常见的数据结构:栈、队列、数组、链表、红黑树、二叉树。

  • 栈 :先进后出

  • 队列:先进先出

  • 数组:查询快(数组的地址是连续的,可以根据索引快速找到某一个元素),增删慢(数组的长度是固定的,删除或增加必须是先创建一个数组,再把源数组的数据复制过来。)。

  • 链表:查询慢(链表中的地址是不连续的,每次进行查询时都是从开头进行查询。),增删快(链表结构的增加和删除对链表的整体结构没有影响,所以增删快)。
    链表分为:单向链表(不保证元素的循序);双向链表(链表中有两条数据,其中一条记录元素的顺序)

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

  •  排序树:在二叉树的基础上,元素是有大小顺序的,左叶子树小,右叶子树大。
     平衡树:左叶子和右叶子数量相等。
     红黑树:趋近于平衡树,查询的叶子节点最大次数和最小次数不能超过2倍。比如:最小次数是1,那么最大次数不能大于2。
     红黑树的特征:
     	1、节点是红和黑两色。
     	2、根节点必须是黑色的,红色节点的子节点都是黑节点。
     	3、任何一个节点到每个节点的所有路径上的黑色节点数相同。
    
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值