我的集合笔记

来源:互联网 发布:powershell 知乎 编辑:程序博客网 时间:2024/06/13 03:59


集合的概念:集合和数组相似都是容器,而集合是储存数组的容器,长度可变,可储存不同类型的数组。

集合中的主要类型

1.集合.add(object obj)add方法需要的参数类型是object以便接受所有类。

2.集合中存储的是对象的引用(地址)。

把一个对象放进集合中,其实是把对象对应的位置编码放进了集合中。

 

import java.util.*;

 

/*

Collection定义了集合框架的共性功能。

1,添加

add(e);

addAll(collection);

 

2,删除

remove(e);  al.remove("java02");

removeAll(collection);  al1.removeAll(al2);al1中的元素减去al2中的元素。

clear();  al.clear();//清空集合。

 

3,判断。返回真假

contains(e);  al.contains("java03")

isEmpty();  al.isEmpty()

 

4,获取

iterator();

size();  al.size()

 

5,获取交集。

retainAll();  al1.retainAll(al2);//去交集,al1中只会保留和al2中相同的元素。

 

6,集合变数组。

toArray();

迭代器(获取元素)

Iterator it = al.iterator();//获取迭代器,用于取出集合中的元素。

 

while(it.hasNext())

{

sop(it.next());

}

什么是迭代器呢?(取出动作不能用简单的一句代码表示,需要先进行判断,在取出,切取出的方式也不一样,所以把取出向上抽取封装成一个类inrerator,放入集合中是因为在集合中成为内部类,方便对集合内部的元素进行操作。对比取娃娃的游戏,箱子就是集合,里面有娃娃就是元素,里面的夹子就是这个取出类iterator

另外for(Iterator it = al.iterator(); it.hasNext() ; )

{

sop(it.next());

}这段代码和上段代码功能相同,但比较好,因为完事以后it就消失了

 

Collection下的list

/*

Collection

|--List:元素是有序的,元素可以重复。因为该集合体系有索引。

|--ArrayList:底层的数据结构使用的是数组结构。特点:查询速度很快。但是增删稍慢。线程不同步。

|--LinkedList:底层使用的链表数据结构。特点:增删速度很快,查询稍慢。线程不同步。

|--Vector:底层是数组数据结构。线程同步。被ArrayList替代了。因为效率低。

 

 

|--Set:元素是无序,元素不可以重复。、

 

 

List

特有方法。凡是可以操作角标的方法都是该体系特有的方法。

 

add(index,element);

addAll(index,Collection);

 

remove(index);

 

set(index,element);

get(index):

subList(from,to);

listIterator();

int indexOf(obj):获取指定元素的位置。

ListIterator listIterator();

 

0 0
原创粉丝点击