Collection集合(简单理解)
Collection接口 :
是单列集合最顶层的接口。
定义了所有单列集合中的共性方法,但是里面没有带索引(下标)的方法。
List 接口 继承(extends) Collection 接口
1、是有序集合(存储和取出的元素相同)。
2、允许存储重复元素。
3、有索引,可以进行循环遍历。
Set 接口 继承(extends) Collection 接口
1、不能存储重复元素。
2、没有索引,(不能使用普通的for循环遍历)
-
HashSet :底层是哈希表+红黑树实现的,无索引,不可以存储重复元素,存取无序。
-
LinkedHashSet:底层是哈希表+链表实现的,无索引,不可存储重复元素,但可以保证存取顺序。
-
TreeSet :底层是二叉树实现的。
上面提到了数组、哈希表、链表、红黑树、二叉树。此时就需要简单知道一下数据结构的概念了。
常见的数据结构:栈、队列、数组、链表、红黑树、二叉树。
-
栈 :先进后出
-
队列:先进先出
-
数组:查询快(数组的地址是连续的,可以根据索引快速找到某一个元素),增删慢(数组的长度是固定的,删除或增加必须是先创建一个数组,再把源数组的数据复制过来。)。
-
链表:查询慢(链表中的地址是不连续的,每次进行查询时都是从开头进行查询。),增删快(链表结构的增加和删除对链表的整体结构没有影响,所以增删快)。
链表分为:单向链表(不保证元素的循序);双向链表(链表中有两条数据,其中一条记录元素的顺序)
-
二叉树:分支不能超过两个。
-
排序树:在二叉树的基础上,元素是有大小顺序的,左叶子树小,右叶子树大。
平衡树:左叶子和右叶子数量相等。
红黑树:趋近于平衡树,查询的叶子节点最大次数和最小次数不能超过2倍。比如:最小次数是1,那么最大次数不能大于2。
红黑树的特征:
1、节点是红和黑两色。
2、根节点必须是黑色的,红色节点的子节点都是黑节点。
3、任何一个节点到每个节点的所有路径上的黑色节点数相同。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)