------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------
Collection:
1,添加:
add(object):添加一个元素
addAll(Collection) :添加一个集合中的所有元素。
2,删除:
clear():将集合中的元素全删除,清空集合。
remove(obj) :删除集合中指定的对象。注意:删除成功,集合的长度会改变。
removeAll(collection) :删除部分元素。部分元素和传入Collection一致。
3,判断:
boolean contains(obj) :集合中是否包含指定元素 。
boolean containsAll(Collection) :集合中是否包含指定的多个元素。
boolean isEmpty():集合中是否有元素。
4,获取:
int size():集合中有几个元素。
5,取交集:
boolean retainAll(Collection) :对当前集合中保留和指定集合中的相同的元素。如果两个集合元素相同,返回flase;如果retainAll修改了当前集合,返回true。
6,获取集合中所有元素:
Iterator iterator():迭代器
7,将集合变成数组:
toArray();
List
List:有序,存入的元素和取出的元素的顺序是一样的。元素是可以重复的
|--ArrayList:底层是数组的数据结构。线程不同步。查询数据速度较快,但是存储数据速度较慢。出现在jdk1.2.
|--LinkedList:底层结构是链表数据结构。线程不同步存取数据速度较快,但是暑假速度较慢。出现在jdk1.2.
|--Vector:底层结构是数组结构。线程同步。查询和存储数据速度都较慢。现在已经被ArrayList所取代。出现在jdk1.0.
归纳:当一个集合即能用ArrayList和LinkedList的时候,建议使用ArrayList,因为查询数据的次数始终比存取数据的次数多。
Set
Set:无序,存入的元素和取出的元素顺序不一样。元素不可以重复
|--HashSet:底层的数据结构是哈希表。数据的存放顺序是按照存入对象的内存地址进行排序,而不是输入顺序。线程不同步。
|--TreeSet:底层的数据结构是二叉树。数据的存放是按照ASCII来进行排序的。线程不同步。
iterator
迭代器iterator: 用于去集合中的元素
public static void main(String[] args) {
ArrayList al = new ArrayList();
al.add("abc0");
al.add("abc1");
al.add("abc2");
//方式一:代码简洁明了
Iterator it = al.iterator();
while(it.hasNext()){
System.out.println(it.next());
//方式二:代码执行速度快,并且代码运行外后iterator对象马上释放
/*for(Iterator it = al.iterator();it.hasNext(); ){
System.out.println(it.next());
*/
}
}