02.集合框架

 List Set Map集合关系类图

UML
        统一建模语言(Unified Modeling Language,UML)是一种为面向对象系统的产品进行说明、可视化和编制文档的一种标准语言,是非专利的第三代建模和规约语言。UML是面向对象设计的建模工具,独立于任何具体程序设计语言。

1. Collection接口
         集合框架的顶级接口是SetList的父接口,但不是Map的父接口
  
         集合中只能添加引用类型数据

2. List接口
          2.1 特点:有序、对象可以重复(不唯一)

                
          2.2 遍历方式      
                  1 下标(for)

                        
                  2 foreach(>=jdk1.5)

                         

                  3 迭代器Iterator(原理)

                         

                        1.hasNext():判断迭代器中的下一个元素是否存在,如果存在则为true,不存在则为false

                        2.next():移动下表并取出当前元素
          2.3 List优化
               1.初始容量:10

                        List集合的初始容量为10,如果往里面加50条数据,容量就会不够,会自动按照计算公式扩容

               2.负载因子:1.5

               3.计算公式:初始容量*负载因子(向下取整

                         10*1.5=15,15*1.5=22(22.5)

               4. 指定初始容量new ArrayList(指定的容量);
          2.4 List元素删除        

                1.for循环正向删除

                

                 2.for循环逆向删除

                

                 3.迭代器删除

                

3. 泛型(JDK1.5之后):以类型作为参数的类就叫泛型
           作用:提高程序健壮性,简化代码
           泛型的默认值是Object

        

4. 装箱、拆箱(jdk1.5之后引入了自动装箱及自动拆箱功能

           java中的八大基础类型:int / short / long / float / double / char / boolean / byte
           值类型->引用类型 :装箱
           引用类型->值类型 :拆箱
           

5. ArrayList、LinkedList、Vector区别
           ArrayList:以连续的数组结构存储数据,查询快(下标)、增删改慢
           LinkedList:以链表的结构存储数据,查询慢、增删改快
           Vector:增删改查都慢,已过时,线程安全,同步(同步及排队)


1. Set
  1.1 特点:无序、对象不能重复
  1.2 遍历

    1.2.1 foreach

        
    1.2.2 迭代器   

        
  1.3 常用实现类
           HashSet
           TreeSet:根据某种(规则)对里面的元素进行排序
               自然比较接口: java.lang.Comparable 
               比较器: java.util.Comparator
               String以AscII码进行比较,返回差值

          LinkedHashSet:
                  1)元素是有顺序的
                  2)元素是不重复的
                  3)底层数据结构是按照链表的结构存储的 Linked

          hashCode:

                  队列 Queue:表示一个先入先出的数据结构(自行研究)

                  堆栈 Stack:表示一个先进后出的数据结构
          压:push
          弹:pop


1. Map
  1.1 特点:无序、以键值对的形式添加元素,键不能重复,值可以重复
           它没有继承Collection接口


  1.2 遍历
    1.2.1 先取出保存所有键的Set,再遍历Set即可(2种)

        
    1.2.2 先取出保存所有Entry的Set,再遍历此Set即可

        

2.HashMap与Hashtable之间的区别(重点)
 hashtable: 同步(synchronized)既排队  线程安全的    
 hashmap: 异步  线程非安全的  
3. 其它
   3.1 Collections:工具类,提供一组静态方法操作Collection集合
   3.2 Arrays:工具类,提供了一组静态方法操作数组

4.TreeMap:排序

        1.key的升序

        

         2.key的降序        

                       

         3.value的升序与降序

                

              升序:a.getValue().hashCode()-b.getValue().hashCode();

              降序:-(a.getValue().hashCode()-b.getValue().hashCode());

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值