关于Iterator Map List Set hashMap ArrayList LinkedHashMap
谁能帮忙更详细的解释一下,他们各自的本质都是什么?一般都在哪些情况下分别用到他们?
我新手,看到它们,程序懂是能懂,不过自己写程序的时候总不知道什么时候运用他们比较恰当.
问的比较多我也比较笨,呵呵,希望前辈们的解释能尽量通俗一些.

解决方案 »

  1.   

    Iterator是java.util包下的一个接口
    对集合进行迭代的迭代器。迭代器代替了 Java Collections Framework 中的 Enumeration。迭代器与枚举有两点不同: 
    迭代器允许调用方利用定义良好的语义在迭代期间从迭代器所指向的集合移除元素。 
    方法名称得到了改进。 Map 接口 将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射一个值。
     
    List 接口有序的 collection(也称为序列)。
    此接口的用户可以对列表中每个元素的插入位置进行精确地控制。用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素。
    与 set 不同,列表通常允许重复的元素。更正式地说,列表通常允许满足 e1.equals(e2) 的元素对 e1 和 e2,并且如果列表本身允许 null 元素的话,通常它们允许多个 null 元素。难免有人希望通过在用户尝试插入重复元素时抛出运行时异常的方法来禁止重复的列表,但我们希望这种用法越少越好。
    List 接口在 iterator、add、remove、equals 和 hashCode 方法的协定上加了一些其他约定,超过了 Collection 接口中指定的约定。为方便起见,这里也包括了其他继承方法的声明。
    List 接口提供了 4 种对列表元素进行定位(索引)访问方法。列表(像 Java 数组一样)是基于 0 的。注意,这些操作可能在和某些实现(例如 LinkedList 类)的索引值成比例的时间内执行。因此,如果调用方不知道实现,那么在列表元素上迭代通常优于用索引遍历列表。
    List 接口提供了特殊的迭代器,称为 ListIterator,除了允许 Iterator 接口提供的正常操作外,该迭代器还允许元素插入和替换,以及双向访问。还提供了一个方法来获取从列表中指定位置开始的列表迭代器。
    List 接口提供了两种搜索指定对象的方法。从性能的观点来看,应该小心使用这些方法。在很多实现中,它们将执行高开销的线性搜索。
    List 接口提供了两种在列表的任意位置高效插入和移除多个元素的方法。
    注意:尽管列表允许把自身作为元素包含在内,但建议要特别小心:在这样的列表上,equals 和 hashCode 方法不再是定义良好的现在有点事  有空再来 呵呵  建议楼主baidu一下
      

  2.   

    楼主现在看估计为时尚早啊   还是先看看API文档吧
      

  3.   

    Iterator 迭代器, 用来遍历集合的, 集合是一个抽象的概念, 就像一个杯子,和一个柜子都可以是集合. 迭代器不关心容器是什么,只关心能够把集合里的元素挨个取出来. 所以用它的好处就是不用知道它在迭代啥玩意,只要知道它能遍历访问集合的每个元素就好了.
     
    Map    是一种映射关系, 用键值建立一个索引值,其实就是一个数组下标值, 而用数组下标来访问数组,速度是最快的.所以用来快速存储数据,非常非常好的东西. 
    List   把它想成一个数组吧, 因为它是线性的,所有的元素都是一个一个地装进去的,可以随机访问元素
    Set    和LIST差不多,只不过它的元素不能重复, 因为它的存储方式也是HASH算法
    hashMap  用HASH算法实现的MAP  给定一个键,用HASH函数算一下,得出一个整数作为数组下标
    ArrayList LIST的实现
      

  4.   

    API上面都有的,建议楼主先去看下.