String
| 类型 | 线程安全 | 效率 | 使用要点 |
| String | 否 | 高 |
不能修改,建议直接使用=“XXX”方式赋值。 使用concat进行加长操作。 |
| StringBuffer | 是 | 低 |
可以修改。 使用append进行加长操作。 |
| StringBuilder | 否 | 高 |
可以修改。 使用append进行加长操作。 |
List
| 类型 | 线程安全 | 效率 | 使用要点 |
| ArrayList | 否 |
删除插入操作少时推荐使用。 遍历时使用get接口速度快。 |
|
| LinkedList | 否 |
删除插入操作多时使用。 遍历时使用迭代器或foreach速度快。 |
|
| Vector | 是 | 是ArrayList的多线程版。 | |
| Stack | 是 | 先进后出 |
Set
Set是不重复的集合
| 类型 | 线程安全 | 效率 | 使用要点 |
| SortedSet | |||
| HashSet | |||
| TreeSet | |||
| EnumSet |
Map
| 类型 | 线程安全 | 效率 | 使用要点 | ||
| HashMap | 否 | 高 | 快速失败 | key和value可以接受null值 | HashMap不能保证随着时间的推移Map中的元素次序是不变的 |
| HashTable | 是 | 中 | 是HashMap的多线程版。 | key和value不可以接受null值 | |
| ConcurrentHashMap | 是 | 高 | 是 | Java 5或以上的话,请使用ConcurrentHashMap | |
| Properties | 是 |
是HashTable子类 |
|||
| EnumMap |
Queue
| 类型 | 线程安全 | 阻塞 | 固定大小 | 效率 | 使用要点 |
| ArrayBlockIngQueue | 是 | 是 |
add:如果队列满,返回异常 offer:如果队列满,返回false pu:直到成功添加才返回 remove: poll: take: |
||
| PriorityBlockingQueue | 是 | ||||
| LinkedBlockIngQueue | 是 |
|
|||
|
PriorityQueue |
否 | ||||
| ArrayDeque | |
||||
| LinkedBlockingDeque | |||||
| LinkedList |
数组
能容纳基本类型,集合不行。
工具类:
java.util.Arrays
java.long.reflect.Array
java.util.Collections
浙公网安备 33010602011771号