java集合常见的几种类型
1.List 链表,一种有序列表的集合
2.Set 一种没有重复元素的集合,可以用来存放key键
3.Map 一种通过键值(key-value)查找的映射表集合
4.Hashtable 一种线程安全的Map实现
5.Vector 一种线程安全的List实现
6.Stack 基于Vector实现的LIFO的栈
7.Queue队列
List方法
1.void add(E e) 在末尾添加一个元素
2.void add(int index,E e)在指定位置添加一个元素
3.int remove(Object e)删除指定元素
4.int remove(int index)删除指定索引的元素
5.E get(int index)获取指定索引的元素
6.int size()获取链表大小(包含元素的个数)
Map方法
比较常见的比如HashMap
1.put(K key,V value)添加元素
2.get(K key)通过键获取值
3.keySet()遍历键
4.entrySet()遍历键值
EnumhMap:比较常见的比如,将枚举类成员做键,优点,保证数度不浪费空间
TreeMap:比较常见,按照key的顺序进行排序
Properties:用于读取配置文件,比如配置文件里string:string格式
Set方法
hashSet方法
1.boolean add(E e)添加元素
2.boolean remove(Object e)删除元素
3.boolean contains(Object e)判断是否包含某个元素
Queue 继承于LinkedList接口
1.int size()获取队列长度
2.boolean add(E)/boolean offer(E)添加元素到队列
3.E remove()/E poll获取队首元素并从队列中删除
4.E element()/E peek()获取队首元素但不从队列中删除
哈哈哈,好多方法好像重复了,add(),remove(),element()操作失败时候会返回异常,offer(),poll(),peek()返回false或者null
PriorityQueue优先队列,可以通过重写Comparable接口实现优先级排序
Deque双向队列
addLast(E e)/offerLast(E e)添加元素到队尾
E removeFirst()/E pollFirst()取队首元素并删除
E getFirst()/E peekFirst()取出队首元素但不删除
addFirst(E e)/offerFirst(E e)添加元素到队首
E removeLast()/E pollLast()取队尾元素并删除
E getLast()/E peekLast()取队尾元素但不删除
Stack栈 java集合类没有提供Stack接口,但可以使用Deque双向队列模拟实现
1.push(E)把元素压栈
2.pop(E)把栈顶的元素弹出
3.peek(E)取出栈顶元素但不弹出
Iterator接口 List,Set,Map,Queue等集合都实现了Iterator接口,因此可以使用foreach遍历
想了解更详细可以移步廖老师的博客使用Stack - 廖雪峰的官方网站
网友评论