集合:

集合类可以分为两类:一类是实现Collection接口;另一类实现Map接口。

Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements)。

Map接口提供key(键)到value(值)的映射,Map中的key不要求有序,不允许重复。

java List迭代器修改 list的迭代器类型_数据结构

 Collection:

List(列表) 有序,可重复

  • ArrayList:

优点: 底层数据结构是数组,查询快,增删慢。
缺点: 线程不安全,效率高。

  • Vector:

优点: 底层数据结构是数组,查询快,增删慢。
缺点: 线程安全,效率低。

  • LinkedList:

优点: 底层数据结构是链表,查询慢,增删快。
缺点: 线程不安全,效率高。

Set(集)唯一,无序(插入顺序)

  • HashSet:

底层数据结构是哈希表;存取和查找性能好;集合元素值可以是 null。

LinkedHashSet是 HashSet 的一个子类,具有 HashSet 的特性。底层数据结构是链表和哈希表,由链表维护元素有序,元素的顺序与添加顺序一致。由哈希表保证元素唯一。

  • TreeSet

底层数据结构是二叉树,是 SortedSet 接口的实现类,可以保证元素处于排序状态。TreeSet 支持两种元素排序:自然排序、自定义对象定制排序。

        List表达一个有序的集合,List中的每个元素都有索引,使用此接口能够准确的控制每个元素插入的位置。用户也能够使用索引来访问List中的元素,List类似于Java的数组。

        Set接口的特点是不能包含重复的元素。对Set中任意的两个元素element1和element2都有elementl.equals(element2)= false。另外,Set最多有一个null元素。此接口模仿了数学上的集合概念。 

 Map:

java List迭代器修改 list的迭代器类型_java List迭代器修改_02

 迭代器(iterable):

        Iterator接口是Java集合中的一员,但它与Collection、Map接口有所不同,Collection接口与Map接口主要用于存储元素,而Iterator主要用于迭代访问(即遍历)Collection中的元素,因此Iterator对象也被称为迭代器。

迭代:即Collection集合元素的通用获取方式。

Iterator接口的常用方法如下:

  • public E next():返回迭代的下一个元素。
  • public boolean hasNext():如果仍有元素可以迭代,则返回 true。

简易版迭代器

简称forEach循环又称增强for循环
格式:for(Object obj,迭代对象)          foreach循环删除元素则会报错