集合框架:
用于存储对象
特点:
1、可变长度
2、只能存储引用数据类型
3、可以存储不同数据类型对象
(图片来自网络)
一、Collection
|——List:有序可重复
|——Set:无序不可重复
方法摘要:
添加
boolean add(E)
boolean addAll(Collection)
删除
void clear()
boolean remove(Object)
boolean removeAll(Collection)
取交集
boolean retainAll(Collection)
判断
boolean contains(Object)
boolean containsAll(Collection)
boolean isEmpty()
获取
int size()
Iterator iterator()
转换
Object[] toArray()
二、Iterator
迭代器:
用于取集合中的元素
方法摘要:
boolean hasNext()
E next()
void remove()
例程:
public static void main(String[] args)
{
Collection co = new ArrayList();
co.add("a");
co.add("b");
co.add("c");
//method 1
Iterator it = co.iterator();
while(it.hasNext())
System.out.println(it.next());
//method 2
for(Iterator it = co.iterator(); it.hasNext(); )
System.out.println(it.next());
}
*常用method 2
三、List:有序有索引可重复
|——Arraylist:数组,线程不同步,查询速度快
|——LinkedList:链表,线程不同步,增删速度快
|——Vector:数组,线程同步,查询增删都慢
四、Set
|——HashSet:哈希表,线程不同步,无序,高效
|——TreeSet:二叉树,线程不同步,有序(两种排序方式Comparable<Comparator)
五、Map:双列集合key-value键值映射对
|——HashTable:哈希表,线程同步,不能存null-null
|——HashMap:哈希表,线程不同步,可以存null-null
|——TreeMap:二叉树,有序
Map->Set两种方法:
Set keySet();取键
Set entrySet();取键值映射关系