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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

1:集合(自己补齐)
        Collection(单列集合)
                List(有序,可重复)
                        ArrayList
                                底层数据结构是数组,查询快,增删慢
                                线程不安全,效率高
                        Vector
                                底层数据结构是数组,查询快,增删慢
                                线程安全,效率低
                        LinkedList
                                底层数据结构是链表,查询慢,增删快
                                线程不安全,效率高
                Set(无序,唯一)
                        HashSet
                                底层数据结构是哈希表。
                                哈希表依赖两个方法:hashCode()和equals()
                                执行顺序:
                                        首先判断hashCode()值是否相同
                                                是:继续执行equals(),看其返回值
                                                        是true:说明元素重复,不添加
                                                        是false:就直接添加到集合
                                                否:就直接添加到集合
                                最终:
                                        自动生成hashCode()和equals()即可
                                       
                                LinkedHashSet
                                        底层数据结构由链表和哈希表组成。
                                        由链表保证元素有序。
                                        由哈希表保证元素唯一。
                        TreeSet
                                底层数据结构是红黑树。(是一种自平衡的二叉树)
                                如何保证元素唯一性呢?
                                        根据比较的返回值是否是0来决定
                                如何保证元素的排序呢?
                                        两种方式
                                                自然排序(元素具备比较性)
                                                        让元素所属的类实现Comparable接口
                                                比较器排序(集合具备比较性)
                                                        让集合接收一个Comparator的实现类对象
        Map(双列集合)
                A:Map集合的数据结构仅仅针对键有效,与值无关。
                B:存储的是键值对形式的元素,键唯一,值可重复。
               
                HashMap
                        底层数据结构是哈希表。线程不安全,效率高
                                哈希表依赖两个方法:hashCode()和equals()
                                执行顺序:
                                        首先判断hashCode()值是否相同
                                                是:继续执行equals(),看其返回值
                                                        是true:说明元素重复,不添加
                                                        是false:就直接添加到集合
                                                否:就直接添加到集合
                                最终:
                                        自动生成hashCode()和equals()即可
                        LinkedHashMap
                                底层数据结构由链表和哈希表组成。
                                        由链表保证元素有序。
                                        由哈希表保证元素唯一。
                Hashtable
                        底层数据结构是哈希表。线程安全,效率低
                                哈希表依赖两个方法:hashCode()和equals()
                                执行顺序:
                                        首先判断hashCode()值是否相同
                                                是:继续执行equals(),看其返回值
                                                        是true:说明元素重复,不添加
                                                        是false:就直接添加到集合
                                                否:就直接添加到集合
                                最终:
                                        自动生成hashCode()和equals()即可
                TreeMap
                        底层数据结构是红黑树。(是一种自平衡的二叉树)
                                如何保证元素唯一性呢?
                                        根据比较的返回值是否是0来决定
                                如何保证元素的排序呢?
                                        两种方式
                                                自然排序(元素具备比较性)
                                                        让元素所属的类实现Comparable接口
                                                比较器排序(集合具备比较性)
                                                        让集合接收一个Comparator的实现类对象
       
2:到底使用那种集合(自己补齐)
        看需求。
       
        是否是键值对象形式:
                是:Map
                        键是否需要排序:
                                是:TreeMap
                                否:HashMap
                        不知道,就使用HashMap。
                       
                否:Collection
                        元素是否唯一:
                                是:Set
                                        元素是否需要排序:
                                                是:TreeSet
                                                否:HashSet
                                        不知道,就使用HashSet
                                       
                                否:List
                                        要安全吗:
                                                是:Vector(其实我们也不用它,后面我们讲解了多线程以后,我在给你回顾用谁)
                                                否:ArrayList或者LinkedList
                                                        增删多:LinkedList
                                                        查询多:ArrayList
                                                不知道,就使用ArrayList
                        不知道,就使用ArrayList
                       
3:集合的常见方法及遍历方式
        Collection:
                add()
                remove()
                contains()
                iterator()
                size()
               
                遍历:
                        增强for
                        迭代器
                       
                |--List
                        get()
                       
                        遍历:
                                普通for
                |--Set
       
        Map:
                put()
                remove()
                containskey(),containsValue()
                keySet()获取所有键
                get()通过键找值
                value()获取所值的集合
                entrySet()获取所有键值对的集合
                size()
               
                遍历:
                        根据键找值
                        根据键值对对象分别找键和值
                       

34 个回复

正序浏览
newu 黑马帝 2017-1-23 19:11:16
35#
6666666666666666666666
回复 使用道具 举报
谢谢分享 好东西!!一定要仔细看看
回复 使用道具 举报
今天准备通宵学习,加油!!!!
回复 使用道具 举报
谢谢楼主分享
回复 使用道具 举报
谢谢分享
回复 使用道具 举报
这个 真的是好东西,,正好 在集合框架这个地方需要多复习
回复 使用道具 举报
联想小新笔记本5000块那个好用不
回复 使用道具 举报
不错不错真在复习这一块,
回复 使用道具 举报
赞!!!赞!!!赞!!!
回复 使用道具 举报
哈哈,刚刚学到这里,你就粘了出来,真是有缘啊~
回复 使用道具 举报
安分的心灵 来自手机 中级黑马 2016-5-1 19:30:51
25#
谢谢分享
回复 使用道具 举报
66666666666感谢分享
回复 使用道具 举报
谢谢分享!
回复 使用道具 举报
好东西,谢谢分享在!!!!!!!!!
回复 使用道具 举报
技术分在哪换啊??
回复 使用道具 举报
好东西!
回复 使用道具 举报
感谢分享!~~~
回复 使用道具 举报
谢谢分享。。。。》》》
回复 使用道具 举报
sxj 中级黑马 2016-5-1 08:57:35
17#
我闻到了大牛的气息。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马