“持有对象”小结

“持有对象”小结_第1张图片

Iterator:用于对任何容器从始至终遍历,且仅能遍历一次
ListIterator:只能用于List类,可一开始就指向任意索引位置,可双向移动,可产生当前位置的前一个与后一个元素的索引,可替换访问过的最后一个元素

List:行为根据equals()的行为而有所变化
ArrayList:一种可修改的序列,允许创建之后添加、移除元素,可自我调整尺寸
长于随机访问元素,但是插入、移除操作较慢

LinkedList:插入、移除操作代价较低,提供了优化的顺序访问,随机访问较慢,特性集较ArrayList更大。可直接作为栈、队列、双向链表使用


Stack:后进先出。多用于对表达式求值
LinkedList

Set:无重复元素
HashSet:提供最快的查询速度
TreeSet:保持元素处于排序状态
LinkedHashSet:保持元素插入的顺序,但也通过散列提供了快速访问能力


Map:存储对象与对象间的映射关系
HashMap:快速访问
TreeMap:保持“键”始终处于排序状态,所以没HashMap快
LinkedHashMap:保持元素插入的顺序,但也通过散列提供了快速访问能力


Queue:先进先出,并发编程中可以安全的将对象从一个任务传输到另一个任务
PriorityQueue:将添加进的元素按优先级规则(先进先出规则失效)控制行为
LinkedList


新程序中不应该使用过时的Vector、Hashtable、Stack。
But,why?

你可能感兴趣的:(java,容器,特性,持有对象)