Map、Set、List、Queue、Stack的特点与用法
Map |
1、键值对的对象,一个映射不能包括重复的键; 2、某些映射实现可以确保顺序,如TreeMap类; 3、另一些映射不能保证顺序,如HashMap类; 4、KeySet()抽取key序列; 5、Map中的所有Keys生成一个集合,不重复; 6、Values()抽取value序列; 7、Map中的所有Values生成一个Collection; |
List |
1、可以随机访问包含的元素,元素是有序的; 2、可以在任意位置增、删元素; 3、不管访问多少次,元素位置不变; 4、允许重复元素; 5、用Iterator实现单向遍历; 6、用ListIterator实现双向遍历; |
Queue |
1、先进先出; 2、用offer()加入元素; 3、用poll()来获取移除元素; 4、用element()或peek()获得前端元素; |
Stack |
1、后进先出; 2、继承Vector,线程同步,即线程安全的; 3、使用push、pop、peek、empty、search等方法; |
Set |
1、包含不重复元素的Collection; 2、Set不包含o1.equals(o2)的元素; 3、对o1和o2 最多包含一个null元素; 4、不可以随机访问包含的元素; 5、只能用Iterator实现单向遍历; 6、Set没有同步方法; |