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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

1:对象数组
        数组既可以存储基本数据类型,也可以存储引用类型.
2:集合



        (1)集合和数组的区别?
                1,长度区别:[size=14.0740737915039px]数组固定,[size=14.0740737915039px]集合可变
                2,内容区别:[size=14.0740737915039px]数组可以是基本类型,也可以是引用类型.[size=14.0740737915039px]集合只能是引用类型                       
                3,元素内容:[size=14.0740737915039px]数组只能存储同一种类型,[size=14.0740737915039px]集合可以存储不同类型(其实集合一般存储的也是同一种类型                                               
        (2)集合的继承体系结构:
                Collection
                        |--List
                                |--ArrayList
                                |--Vector
                                |--LinkedList
                        |--Set
                                |--HashSet
                                |--TreeSet
        (3)Collection的常用方法:
[size=14.0740737915039px]                添加功能,[size=14.0740737915039px]删除功能,[size=14.0740737915039px]判断功能,[size=14.0740737915039px]获取功能,[size=14.0740737915039px]长度功能.


        (4)Collection集合的遍历

                迭代器(使用while和for都可以,但是老外都用for迭代)
        (5)集合的使用步骤:1创建集合对象.2[size=14.0740737915039px]创建元素对象;3,[size=14.0740737915039px]把元素添加到集合;4,[size=14.0740737915039px]遍历集合
3,List集合:
        (1)List是Collection的子接口特点是有序可重复。
        (2)List的方法:[size=14.0740737915039px]添加功能,[size=14.0740737915039px]删除功能,[size=14.0740737915039px]获取功能,[size=14.0740737915039px]迭代器功能,[size=14.0740737915039px]修改功能.
        (3)List集合的特有遍历功能:使用size()和get()


        (4)列表迭代器的特有功能:
                可以逆向遍历,但是要先正向遍历,所以无意义,基本不使用。
        (5)并发修改异常
                1:出现的现象
                        迭代器遍历集合,集合修改集合元素
                2:原因
                        迭代器是依赖于集合的,而集合的改变迭代器并不知道。
                3:解决方案
                        1:迭代器遍历,迭代器修改(ListIterator)

                        2:集合遍历,集合修改(size()和get())
        (6)List的子类特
                ArrayList
                        底层数据结构是数组,查询快,增删慢。
                        线程不安全,效率高。
                Vector
                        底层数据结构是数组,查询快,增删慢。
                        线程安全,效率低。
                LinkedList
                        底层数据结构是链表,查询慢,增删快。
                        线程不安全,效率高.
       (7)ArrayList和LinkedList集合的使用选择:
                                        查询多:ArrayList
                                        增删多:LinkedList               
                                      不知道?就用ArrayList。
4,Set集合:

        (1)Set集合的特点:[size=14.0740737915039px]无序,唯一       
        (2)HashSet集合
                1:底层数据结构是哈希表(是一个元素为链表的数组)
                2:哈希表依赖的两个方法:hashCode()和equals()他们[size=14.0740737915039px]保证元素唯一性

                        首先比较哈希值是否相同,相同就继续执行equals()方,[size=14.0740737915039px]不同就就直接把元素添加到集合

        (3)TreeSet集合
                A:底层数据结构是二叉树
                B:保证元素的排序方式:[size=14.0740737915039px]自然排序:[size=14.0740737915039px]让元素所属的类实现Comparable接口.比较器排序:[size=14.0740737915039px]让集合构造方法接收Comparator的实现类对象                       
3:Collection集合:
        Collection
                |--List        有序,可重复
                        |--ArrayList
                                底层数据结构是数组,查询快,增删慢。
                                线程不安全,效率高
                        |--Vector
                                底层数据结构是数组,查询快,增删慢。
                                线程安全,效率低
                        |--LinkedList
                                底层数据结构是链表,查询慢,增删快。
                                线程不安全,效率高
                |--Set        无序,唯一
                        |--HashSet
                                底层数据结构是哈希表。

                                        依赖两个方法:hashCode()和equals()

                                |--LinkedHashSet
                                        底层数据结构是链表和哈希表
                                        由链表保证元素有序
                                        由哈希表保证元素唯一
                        |--TreeSet
                                底层数据结构是二叉树

                                        自然排序
                                        比较器排序                                       
5:在集合数据结构:
        ArrayXxx:底层数据结构是数组,查询快,增删慢
        LinkedXxx:底层数据结构是链表,查询慢,增删快
        HashXxx:底层数据结构是哈希表。依赖方法:hashCode()和equals()
        TreeXxx:底层数据结构是二叉树。两种排序:自然排序和比较器排序
1:Map集合:
        (1)将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。
        (2)Map和Collection的区别?
                首先Map 存储的是键值对形式的元素,键唯一,值可以重
                其次Collection 存储的是单独出现的元素,Set元素唯一,List元素可重
        (3)Map接口方法:[size=14.0740737915039px]添加功能,[size=14.0740737915039px]删除功能,[size=14.0740737915039px]判断功能,[size=14.0740737915039px]获取功能,[size=14.0740737915039px]长度功能
        (4)Map集合的遍历:
                1:键值方法:
                        a:获取所有键的集合
                        b:遍历键的集合,得到每一个键
                        c:根据键到集合中去找值               
               2:键值对方法:
                        1:获取所有的键值对对象的集合
                        2:遍历键值对对象的集合,获取每一个键值对对象
                        3:根据键值对对象去获取键和值
2:Collections
        (1)是针对集合进行操作的工具类
        (2Collection和Collections的区别:
                A:Collection 是单列集合的顶层接口,有两个子接口List和Set
                B:Collections 是针对集合进行操作的工具类,可以对集合进行排序和查找等
        (3)常见的方法:
                1:public static <T> void sort(List<T> list)
                2:public static <T> int binarySearch(List<?> list,T key)
                3:public static <T> T max(Collection<?> coll)
                4:public static void reverse(List<?> list)
                5:public static void shuffle(List<?> list)
               

































































5 个回复

倒序浏览
楼主总结之后有什么感觉
回复 使用道具 举报
哈哈,挺好
回复 使用道具 举报
野马奔腾 发表于 2015-4-7 21:30
楼主总结之后有什么感觉

也不能完全算我总结的,结合之前自学看视频的笔记总结的,感觉还凑合吧,兄弟高见是?
回复 使用道具 举报

只能算是菜鸟的笔记,很一般般吧
回复 使用道具 举报
BoysLove 发表于 2015-4-7 21:36
也不能完全算我总结的,结合之前自学看视频的笔记总结的,感觉还凑合吧,兄弟高见是? ...

暂无高见 我正在基础班学着
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马