java中集合接口Collection总结

一、集合的特点:

    1、用于存储对象的容器(容器中存储的是对象),且长度可变;

    2、不可存储基本数据类型;(集合存储基本数据类型时会先进行自动封装成其对应的对象后再进行存储)

二、集合框架的根接口:Collection

    1、方法:

     Iterator<T> iterator()   方法返回一个用于访问集合中每个元素的迭代器;

     int size() 返回集合中元素的个数

     boolean isEmpty() 如果集合中没有元素,返回true;

     boolean contains(Object obj) 如果集合中包含一个和obj相同的元素,返回true;

     boolean containsAll(Collection<Object> objs) 如果集合中包含和objs集合相同的元素,返回true;

      boolean add(Object obj) 将一个元素添加到集合中,如果这个元素改变了集合,返回true;

     以上是主要用到的几个方法,更多接口请查看API;

三、迭代器 Iterator

(1)通过集合对象获取其对应的Iterator对象;
(2)判断是否存在下一个元素;
(3)取出该元素并将迭代器对象指向下一个元素;

Iterator iterator():取出元素的方式:迭代器。

         1、该对象必须依赖于具体容器,因为每一个容器的数据结构都不同。
         2、所以该迭代器对象是在容器中进行内部实现的。
         3、对于使用容器者而言,具体的实现不重要,只要通过容器获取到该实现的迭代器的对象即可,也就是iterator方法。

四、Collection两大体系:链表List、集合Set
    1、List特点:元素有序;元素可以重复;元素都有索引(角标)

        List三大常用集合:
           Vector:内部是数组数据结构,是同步的(线程安全的)。增删查询都很慢。
           ArrayList:内部是数组数据结构,是不同步的(线程不安全的)。替代了Vector。查询速度快,增删比较慢。
           LinkedList:内部是链表数据结构,是不同步的(线程不安全的)。增删元素速度快。

   2、 Set 特点:元素无序;元素不可以重复;

         Set常用集合:
       1、HashSet:内部数据结构是哈希表,是不同步的。
            Set集合中元素都必须是唯一的,HashSet作为其子类也需保证元素的唯一性。
            判断元素唯一性的方式:
                通过存储对象(元素)的hashCode和equals方法来完成对象唯一性的,如果对象的hashCode值不同,那么不用调                      用 equals方法就会将对象直接存储到集合中;如果对象的hashCode值相同,那么需调用equals方法判断返回值是否                    为true,若为false, 则视为不同元素,就会直接存储;若为true, 则视为相同元素,不会存储。

       2、TreeSet:保证元素唯一性的同时可以对内部元素进行排序,是不同步的。
            判断元素唯一性的方式:
              根据比较方法的返回结果是否为0,如果为0视为相同元素,不存;如果非0视为不同元素,则存。
            TreeSet对元素的排序有两种方式:
              方式一:使元素(对象)对应的类实现Comparable接口,覆盖compareTo方法。这样元素自身具有比较功能。
              方式二:使TreeSet集合自身具有比较功能,定义一个类实现Comparable接口覆盖其compareTo方法。(相当于自定义                了 一个比较器)

 

                

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值