关于java数据结构 在什么情况下使用什么样的数据结构的总结

来源:互联网 发布:js中绑定含参数函数 编辑:程序博客网 时间:2024/04/30 14:20

什么情况下使用什么样的集合

1避免在链表中使用以整数索引来表示元素在集合中位置的所有方法,如果需要随驾访问集合,则使用arraylist或数组

2 散列映射表对键进行散列,树状映射表使用键的全局顺序进行排序,并组织成搜索树,

散列函数或比较函数智能作用于键,不能作用于值,

与散列集一样散列映射表的速度比较快,如果不需要按照顺序来访问键的话,就采用散列映射,

3,当你需要采用先进先出的原则来检索对象时,你就可以采用队列

4,如果你访问hashset的话,你可以保证其中的没个元素都会被访问到,但是不能确定访问顺序

5 Arraylist可以动态增长和缩减的索引序列

   LinkList可以在任何位置高效的插入和删除指定元素的有序序列

HashSet没有重复元素的无序集合

      TreeSet有序集//比散列集有所改进,他可以按照一定的顺序将元素插入到该集合,迭代时,按此顺序读出,

Enumset包含枚举元素的集合

LinkedHashSet可以记着插入元素顺序的集

PriorityQueue可以高效的移除最小元素的集合//以任意顺序读取,按排序顺序读取

HashMap 一种存储键值关联的数据结构

TreeMap键有序的map

EnumMap键属于枚举类型的map

Linkhashmap可以记着键值项被添加顺序的map

Weakhashmapmap中的值如果没有被调用,它将会被垃圾回收期回收

Identityhashmapmap中键用==而不是用equals

6java编程语言中,所有的linklist都是双向的,即都有前驱和后继

 

原创粉丝点击