集合:单列集合(Collection)、双列集合(Map)
| |
List 、 Set HsahMap、TreeMap
| |
ArrayList、 HsahSet
Vector TreeSet
LinkedList
List特点:有序,元素可重复
Set特点:无序,元素唯一(依赖于hashCode()与equals()方法)
ArrayList:底层数据是数组,查询快,增删慢,线程不安全,效率高
Vector:底层数据是数组,查询快,增删慢,线程安全,效率低
LinkedList:底层数据是链表,查询慢,增删快,线程不安全,效率高
HashSet:元素唯一,无序(这里说的有序、无序指的是元素输入与输出的顺序一不一样)
TreeSet:元素唯一,可以排序,有自然排序与比较器排序两种(区别在于构造方法)
比较器排序需要重写Comparator中的compare( )方法
LinkedHashSet:HashSet的子类,底层数据是哈希表与链表,比HashSet多了有序的特性
Map集合的元素是键值对形式的,其中键是唯一,值可以重复,操作方法在于操作键的方法
方法大同小异,需要了解的是:
当你用使用集合时,要想清晰的知道自己想的集合的特点:单个的还是成对的;有序的还是无序的,元素可以重复吗;需要排序吗?
按照这个原则去使用符合实际情况的集合就可以了。
遍历集合的方式有3种:
迭代器、增强for、普通for
我比较习惯使用的是增强for,格式是(数据类型 数据名:集合对象)
|
|