使用集合的技巧:
看到Array就是数组结构,有角标,查询速度很快。
看到link就是链表结构:增删速度快,而且有特有方法。addFirst; addLast;?removeFirst(); removeLast(); getFirst();getLast();
看到hash就是哈希表,就要想要哈希值,就要想到唯一性,就要想到存入到该结构的中的元素必须覆盖hashCode,equals方法。
看到tree就是二叉树,就要想到排序,就想要用到比较。
比较的两种方式:
一个是Comparable:覆盖compareTo方法; 一个是Comparator:覆盖compare方法。
LinkedHashSet,LinkedHashMap:这两个集合可以保证哈希表有存入顺序和取出顺序一致,保证哈希表有序。
集合什么时候用?
当存储的是一个元素时,就用Collection。
当存储对象之间存在着映射关系时,就使用Map集合。
保证唯一,就用Set。不保证唯一,就用List。
集合体系:集合中存储的都是对象的引用(地址)
List和Set
List :ArrayList LinkedList Vector 有索引 特有的迭代器 ListIterator
Set :HashSet TreeSet
Collections共性集合
ArrayList
创建集合容器
ArrayList al=new ArrayList ()
1.添加元素:
a1.add("");
a1.add("");
2.获取长度,集合个数
a1.size();
3.删除元素
a1.remove();
4.清空集合
a1.clear();
5.判断
a1.contains()是否包含
a1.isEmpty()是否为空
6.取交集
a1.retainAll(a2);取两个集合中交集的元素。
取出元素:
迭代器:集合取出元素的方式。
Iterator it=a1.iterator();
while(it.hasNext())
{
it.next();
}