什么情况下使用什么样的集合
1避免在链表中使用以整数索引来表示元素在集合中位置的所有方法,如果需要随驾访问集合,则使用arraylist或数组
2 散列映射表对键进行散列,树状映射表使用键的全局顺序进行排序,并组织成搜索树,
散列函数或比较函数智能作用于键,不能作用于值,
与散列集一样散列映射表的速度比较快,如果不需要按照顺序来访问键的话,就采用散列映射,
3,当你需要采用先进先出的原则来检索对象时,你就可以采用队列
4,如果你访问hashset的话,你可以保证其中的没个元素都会被访问到,但是不能确定访问顺序
5, Arraylist可以动态增长和缩减的索引序列
LinkList可以在任何位置高效的插入和删除指定元素的有序序列
HashSet没有重复元素的无序集合
TreeSet有序集//比散列集有所改进,他可以按照一定的顺序将元素插入到该集合,迭代时,按此顺序读出,
Enumset包含枚举元素的集合
LinkedHashSet可以记着插入元素顺序的集
PriorityQueue可以高效的移除最小元素的集合//以任意顺序读取,按排序顺序读取
HashMap 一种存储键值关联的数据结构
TreeMap键有序的map
EnumMap键属于枚举类型的map
Linkhashmap可以记着键值项被添加顺序的map
Weakhashmap该map中的值如果没有被调用,它将会被垃圾回收期回收
Identityhashmap该map中键用==而不是用equals
6在java编程语言中,所有的linklist都是双向的,即都有前驱和后继