数据结构:
栈:先进后出
队列:先进先出
数组:长度固定,有索引,是一片连续的存储空间
链表: 每个元素都是一个对象,包含两个内容,数据域和指针域。每个元素通过地址值连接,上一个元素拥有下一个元素的地址值。
红黑树:平衡二叉树
List集合特点:
有序,有索引,允许重复
子类
ArrayList:通过数组实现,主要方法:get()set()remove(),add()
LinkedList:通过双向链表实现 主要方法:getFirst(),getLast(),removeFirst(),addFirst(),addLast()...
Aector:功能与ArrayList类似,是线程安全的。
Set集合特点:
无法保证顺序,没有索引,不允许重复;方法与Collection一致。
HashSet:通过Hash表实现,要保证自定义对象不重复则需要重写HashCode与equals方法。
LinkedHashSet:HashSet子接口,通过链表实现数据有序。
Collections常用方法:addAll();shuffle();sort()
Map键值对:
HashMap:无序,方法:put(Key,value),get(key),remove(key),通过setKeys获取所有的Key遍历,或通过EnrtySet()获取一个set键值对集合遍历
Key:可以为null,不能重复,自定义对象需要重写HashCode方法与equals方法
value:可以为null,可以重复
LinkedHashMap:有序
HashTable:线程安全的,键和值都不能为null |
|