关于Iterator Map List Set hashMap ArrayList LinkedHashMap
谁能帮忙更详细的解释一下,他们各自的本质都是什么?一般都在哪些情况下分别用到他们?
我新手,看到它们,程序懂是能懂,不过自己写程序的时候总不知道什么时候运用他们比较恰当.
问的比较多我也比较笨,呵呵,希望前辈们的解释能尽量通俗一些.
谁能帮忙更详细的解释一下,他们各自的本质都是什么?一般都在哪些情况下分别用到他们?
我新手,看到它们,程序懂是能懂,不过自己写程序的时候总不知道什么时候运用他们比较恰当.
问的比较多我也比较笨,呵呵,希望前辈们的解释能尽量通俗一些.
解决方案 »
- 难题一个,关于applet的,有兴趣的进! 18-JAN-2007 21:00 结帖
- 关于redhat中JRE环境变量设置
- 我定义了一种新的语言,想做一个编译器把它转化成 .java文件,但编译学得不好,希望各位朋友给与指点,提供一些实际应用的例子,万分感谢
- 查找问题???????????????高分在线
- 文本编辑的问题,大家快来拿分吧
- 请JAVA高手指点:JAVA初学者应该看什么书,和JAVA的学习路线?有高分
- 哎!java的ide要是也能这样该多好!!!!!
- 客户端程序与容器打交道时客户端用什么程序编写?比如银行添单。
- swing 和 AWT 有什么区别?
- 【JAVAse的一堆奇葩的问题】
- Java抽象类的非抽象方法有什么作用?
- 求助Java 中调用C 函数遇到的问题。
对集合进行迭代的迭代器。迭代器代替了 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一下
Map 是一种映射关系, 用键值建立一个索引值,其实就是一个数组下标值, 而用数组下标来访问数组,速度是最快的.所以用来快速存储数据,非常非常好的东西.
List 把它想成一个数组吧, 因为它是线性的,所有的元素都是一个一个地装进去的,可以随机访问元素
Set 和LIST差不多,只不过它的元素不能重复, 因为它的存储方式也是HASH算法
hashMap 用HASH算法实现的MAP 给定一个键,用HASH函数算一下,得出一个整数作为数组下标
ArrayList LIST的实现