一、定义
集合是用来存储数据的容器。Java中的集合接口有两大类:Collection接口和Map接口。 Collection接口下面有List接口和Set接口;其中,List接口的主要实现类是ArrayList、LinkedList、Stack、Queue等;Set接口的主要实现类是HashSet等。 Map接口的主要实现类有:HashMap、Hashtable、CocurrentHashMap等;
二、常见集合
1、List
2、Set
HashSet是一个由HashMap实现的集合,元素无序且不能重复。若需要按插入顺序排序,可以使用LinkedHashSet。若需要按自定义规则排序,可以使用TreeSet,底层是通过TreeMap实现。HashSet是线程不安全的,若要使用线程安全的Set集合,可以采用Collections.synchronizedSet()构造一个线程安全的Set,CopyOnWriteArraySet。 HashSet底层原理是基于HashMap实现的,相关HashSet操作,基本上都是直接调用HashMap的相关方法来完成。
3、Queue
BlockingQueue是Queue接口的子接口。它支持阻塞的插入和移除元素。下面是它支持的方法:
插入:
a、add:插入过程出错会抛出异常
b、put:当队列满的时,队列会阻塞插入元素的线程,直到队列