目录
Collection容器:与Map同级,子类有List、Set。提供了一系列静态方法,非静态方法。
ArrayList:动态规划的顺序结构线性表,继承于List,实现了List的所有方法。
Set:存放的元素具有唯一性,即不能相同。子类有HashSet、TreeSet、LinkedHashSet
一般推荐使用HashSet,当需要排列顺序时使用TreeSet、插入顺序时使用LinkedSet
HashSet:哈希算法和十字链表法实现。装入HashSet的类必须重写HashCode()
和equals(),在装入元素过程中, HashCode()会被自动调用计算当前
类存放在数组的位置,equals()再被调用来判断放入的链表里是否有元
TreeSet:红黑树结构(二叉排序树:中序(左中右)遍历后为升序排列),添加
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的子类,可按插入顺序遍历。