Java基本概念-集合框架

来源:互联网 发布:原油价格数据在哪里查 编辑:程序博客网 时间:2024/06/16 22:33
一 集合框架结构
 
                                       Collection                                         Map
 
 1 接口                     List                         Set
 
 
 2 类     ArrayList   LinkedList   Vector           HashSet    TreeSet            HashMap   TreeMap   Properties
 
   
二 Collection接口
 
 1 Collection接口存储一组无序、不唯一的对象
 
三 List集合(集合添加时是Object,获取时也是Object)
 
 1 List 接口存储一组不唯一,有序的对象,List集合定义时不需要指定大小,也不用指定集合中指定的数据类型
 
 2 实现的类:ArrayList、LinkedList、Vector
 
 3 常用方法:添加元素:add();
             获取元素:get();
             删除元素:remove();
             判断是否含有某元素:contains();
             获取集合大小:size();
             迭代:通过for循环和get()方法实现
 
 4 各实现类的区别:
    
   ArrayList:非线程安全
              内部采用数组实现
              数据插入、删除时效率低;查找效率高
              不适合频繁插入,频繁删除的情况
 
   Vector:线程安全的,其他同ArrayList
 
   LinkedList:非线程安全
               内部采用链表结构实现
               数据插入、删除时效率高;查找效率低
               适合频繁插入,频繁删除的情况
 
四 Set集合
 
 1 Set接口存储一组唯一,无序的对象  
 
 2 实现的类:HashSet、TreeSet  
 
 3  常用方法:添加元素:add();
              获取元素:不能获取一个元素
              删除元素:remove();
              判断是否含有某元素:contains();
              获取集合大小:size();
              迭代:通过迭代器(Iterator,专门用于迭代集合)的hasNext()和next()方法实现  
 
五 Map集合
 
 1 Map接口存储一组键值对象,提供key到value的映射:
   Map集合是通过key取value的,没有下标,没有顺序
   Map中的键必须是唯一的,键可以是null,值是可以重复的    
 
 2 实现的类:HashMap、TreeMap 、Properties
 
 3  常用方法:添加元素:put();
              删除元素:remove()
              判断键是否存在:containsKey();
          判断值是否存在:containsValue();
              返回键对应的值:get();
          返回键集合:keySet();
          迭代:迭代之前一个先得到键集合,通过键获取值,用迭代器迭代
              获取集合大小:size();
六 装箱拆箱
 
 1 装箱(box):基本类型转换为引用类型
 
 2 拆箱(unbox):引用类型转换为基本类型
 
七 排序
 
 1 Collections:Collections是集合的工具类,提供了集合中常用sort的方法
 
 2 Arrays:Arrays是数组的工具类,提供了关于数组常用sort的方法
 
 3 对CompareTo()方法的重写:sort方法内部在排序时,会比较两个集合元素的大小,如果元素是引用类型,那么元素的值是地址编号,则需要对compareTo()进行重写
 
八 比较
 
 1 变量特点:存储单个  
             数据类型限制
 
 2 数组特点:存储固定个数(个数必须写,一旦确定,不能改变)
             数据类型限制
 
 3 集合特点:存储任意个(个数可写可不写,写了就是默认容量,如果需要更大容量会自动扩容)  
             数据类型不受限制  
             集合中保存的是对象的引用   
0 0