Java基本功:容器Collection

版权声明:转载请说明去处,文章仅供学习参考 https://blog.csdn.net/qq_38487155/article/details/86508081

目录

Collection容器:与Map同级,子类有List、Set。提供了一系列静态方法,非静态方法。

List:线性结构,对Collection的补充更新

ArrayList:动态规划的顺序结构线性表,继承于List,实现了List的所有方法。

LinkedList:双向链表结构的线性表

Set:存放的元素具有唯一性,即不能相同。子类有HashSet、TreeSet、LinkedHashSet

         一般推荐使用HashSet,当需要排列顺序时使用TreeSet、插入顺序时使用LinkedSet

HashSet:哈希算法和十字链表法实现。装入HashSet的类必须重写HashCode()

                   和equals(),在装入元素过程中, HashCode()会被自动调用计算当前

                   类存放在数组的位置,equals()再被调用来判断放入的链表里是否有元

                   素与当前类相同。

TreeSet:红黑树结构(二叉排序树:中序(左中右)遍历后为升序排列),添加

                 删除比HashSet慢,但有点是元素始终处于有序状态。

LinkedHashSet:HashSet的子类,可按插入顺序遍历。


容器:Java里提供存放各种对象的集合,内部结构各有不同,使用到了泛型技术

容器关系图:

泛型定义接口方法、和容器使用:

遍历Collection容器的方法

迭代器:容器指针
             格式:Iterator<实例化类型>来定义指针
             容器(Collection):
             iterator():返回迭代器值(Iterator)
             迭代器(Iterator):
             next():第一次指向首个元素,依次指向下一元素。
             hasNext():判断是否还有下个next值(即下个元素)

Collection容器:与Map同级,子类有List、Set。提供了一系列静态方法,非静态方法。

静态方法:

非静态方法:

List:线性结构,对Collection的补充更新

ArrayList:动态规划的顺序结构线性表,继承于List,实现了List的所有方法。

LinkedList:双向链表结构的线性表

Set:存放的元素具有唯一性,即不能相同。子类有HashSet、TreeSet、LinkedHashSet

         一般推荐使用HashSet,当需要排列顺序时使用TreeSet、插入顺序时使用LinkedSet

HashSet:哈希算法和十字链表法实现。装入HashSet的类必须重写HashCode()

                   和equals(),在装入元素过程中, HashCode()会被自动调用计算当前

                   类存放在数组的位置,equals()再被调用来判断放入的链表里是否有元

                   素与当前类相同。

TreeSet:红黑树结构(二叉排序树:中序(左中右)遍历后为升序排列),添加

                 删除比HashSet慢,但有点是元素始终处于有序状态。

LinkedHashSet:HashSet的子类,可按插入顺序遍历。

猜你喜欢

转载自blog.csdn.net/qq_38487155/article/details/86508081