A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

集合类的由来:
对象用于封装特有数据,对象多了需要存储,如果对象的个数不确定,就使用集合容器进行存储。
集合特点:
1,用于存储对象的容器。
2,集合的长度是可变的。
3,集合中不可以存储基本数据类型值。


集合容器因为内部的数据结构不同,有多种具体容器。
不断的向上抽取,就形成了集合框架


框架的顶层Collection接口:
Collection
|--List:有序(存入和取出的顺序一致),元素都有索引(角标),元素可以重复。
|--Set:元素不能重复,无序。
List:
|--Vector:内部是数组数据结构,是同步的。增删,查询都很慢!
|--ArrayList:内部是数组数据结构,是不同步的。替代了Vector。查询的速度快。
|--LinkedList:内部是链表数据结构,是不同步的。增删元素的速度很快。



Collection的常见方法:
Collection coll = new ArrayList();
System.out.println(coll);;// [abc1, abc2, abc3]


1,添加。
boolean add(Object obj):
boolean addAll(Collection coll):


2,删除。
boolean remove(object obj); 会改变集合的长度
boolean removeAll(Collection coll);将两个集合中的相同元素从调用removeAll的集合中删除。
boolean containsAll(Colllection coll);取交集,保留和指定的集合相同的元素,而删除不同的元素。
void clear(); 清空集合
3,判断:
boolean contains(object obj):
boolean isEmpty():判断集合中是否有元素。


4,获取:
int size():
Iterator iterator():取出元素的方式:迭代器。
该对象必须依赖于具体容器,因为每一个容器的数据结构都不同。
所以该迭代器对象是在容器中进行内部实现的。
对于使用容器者而言,具体的实现不重要,只要通过容器获取到该实现的迭代器的对象即可,
也就是iterator方法。
Iterator接口就是对所有的Collection容器进行元素取出的公共接口。
其实就是抓娃娃游戏机中的夹子!
5,其他:
boolean retainAll(Collection coll);取交集。
Object[] toArray():将集合转成数组。


-------------------------------


List:特有的常见方法:有一个共性特点就是都可以操作角标。
List al=new ArrayList();
System.out.println("list:"+list);// list:[abc1, abc2, abc3]

1,添加
void add(index,element);index可以省略,直接在最后面添加
void add(index,collection);index可以省略,直接在最后面添加




2,删除;
Object remove(index); 返回对象,记录着被删除的元素




3,修改:
Object set(index,element);返回对象,记录着被修改的元素


4,获取:
Object get(index); 通过 角标获取元素
int indexOf(object);通过indexof获取对象的位置
int lastIndexOf(object);
List subList(from,to);获取子列表(列表中两个位置之间的数):返回List。包括头,不包括尾
                        List sub=al.subList(1,3)返回角标1和2的元素组成的list
list集合是可以完成对元素的增删改查。


获取所有元素:
    for(int x=0;x
    {
        al.get(x)
     }


    第二种方式:
     Iterator it=a1.iterator();//构建 迭代器对象,只有删除功能。
       while(it.hasNext())
       {
             it.next();


        }



在迭代器过程中,不要使用集合操作元素,容易出现异常。
这时就需要迭代器可以对迭代器的对象进行操作,但是由于Iterator迭代器只有 remove功能,所以建议使用其子接口ListIterator,它具备删除 remove 添加 add 修改 set 等功能。
ListIterator列表迭代器:是List集合特有的迭代器,是Iterator的子接口。可以对集合列表进行各种操作。此功能是List特有
   ListIterator it=a1.ListIterator();
       while(it.hasNext())//正向遍历
       {
             it.next();
            it.set();//修改
        }


   逆向遍历
   it.hasPrevious


3 个回复

倒序浏览
哈哈,我以为只有我会看视频做笔记,原来还有你,,,,
回复 使用道具 举报
我也快看到集合了,不过我把笔记写到了本子上
回复 使用道具 举报
写了三本笔记了。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马