黑马程序员_集合框架总结

javaEE+android


集合框架
    1.Collention
        List:元素是有序的,元素可以重复,因为该集合体系有索引
            Arrayist:底层是数据结构使用的是数组结构。特点:查询速度快,但是增减稍慢。线程不同步。
            LinkedList:底层使用的链表数据结构。特点:增减速度很快,查询稍慢。
            Vector:底层是数组结构。线程同步。被Arrayist淘汰了
            
    2.List集合特有的迭代器。ListIterator是Iterator的子接口
        在迭代时,不可以通过集合对象的方法操作集合中的元素,因为挥发生ConcurrentModificationException异常,股在迭代器时,只能用迭代器的方法操作元素,可是Iterator方法是有限的,只能对元素进行判断,取出,删除的操作,如果想要其他的操作(如添加,修改等),就需要使用其子接口,ListIterator。
        该接口只能通过LIst集合的listterator方法获取
        Set:无序,不可以重复元素
            HashSet:数据结构是哈希表,线程是非同步的
                保证元素唯一性的原理:判断元素的hashCode值是否相同,如果相同,还会继续判断元素的equals方法,是否为true
            Treeset:可以对Set集合中的元素进行排序
                底层结构是二叉树,保证元素唯一性的依据:conpareo方法return 0
                TreeSet排序的第一种方式:让元素自身具备比较性。
                    元素需要实现Compareable接口,覆盖compareTo方法
                    这种方式也称为元素的自然排序,或者默认顺序
                TreeSet的第二种排序方式:
                    当元素不具备比较性时,或者具备的比较性不是所需的
                    这时就需要让集合自身具备比较性,在集合初始化时,就有了比较性
                    当两种排序都存在时,以比较器为主
                    定义一个类,实现Comparator接口,覆盖compare方法
    泛型:JDK1.5版本之后出现的新特性。用于解决安全问题,十一个安全机制
        好处:
            将运行时期出现问题ClassCastException,转移到了编译时期,方便于程序员解决问题。让运行事情问题减少,安全
            避免了强制转换的麻烦
        泛型格式:通过<>来定义要操作的引用数据类型
        使用:
            通常在集合框架中很常见,只要见到<>就要定义泛型。(其实<>就是用来接受数据类型的)
            当在使用集合时,将集合中哟存储的数据类型作为参数传递到<>即可
            当类中要操作的引用数据类型不确定的时候(早期定义Object来完成扩展,现在定义泛型来完成扩展)



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值