黑马程序员--集合--4th day

------- <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.

归纳:当一个集合即能用ArrayListLinkedList的时候,建议使用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());

*/

}

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值