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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 田策 中级黑马   /  2015-10-16 13:26  /  343 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

集合框架
        collection

对象数组:
        数组和集合存储引用数据类型,存的都是地址值
        Student[] arr = new Student[5]                创建引用数据类型数组
        arr[0] = new Student("张三",1);                创建一个学生对象
        输出需要在Student类重写toString方法,不然打印是的地址值
       
集合:
   区别:
        基本类型存储的是值,引用数据类型存储的是地址值
        集合只能存储引用数据类型(对象),集合存储基本数据类型会自动装箱变成对象

        数组长度固定
        集合长度可以变化,自增

数组和集合什么时候用:
        元素固定用数组
        元素不固定用集合
       
Collection(单列集合的根接口):
        list接口:有序(存和取顺序一致),有索引可以存储重复
                |                |                |
                |                |                |
            ArrayList             LinkedList              Vector
             数组实现              链表实现       数组实现


                   set接口:正好相反
                |                |
                |                |
            HashSet          treeSet
            哈希算法            二叉树算法
=======================================================
        父类引用指向子类对象
        Collection c = new ArrayList();

collection方法:

        add()添加方法:
                如果是List集合,一直返回true
                如果是Set集合,如果存储重复内弄就返回false
                ArrayList,父类重写了toString()方法

        remove()删除方法:
               
        clear()清空集合:

        c.contatins() 判断是否包含
        boolean b = c.contains("b")

        c.isEmpty() 判断是否为空

        int size() 获取元素的个数

=======================================================
集合的遍历:
        Object[] arr = c.toArray();
        数组将集合转换成arr数组

=======================================================

c1.addAll(c2)
是把c2整个集合添加进c1

c1.add(c2)
是把c2看成一个对象添加进c1


c1.removeAll(c2)
删除的是c1和c2的交集

c1.containsAll(c2)
判断c1是否全部包含c2

c1.retainAll(c2)
取交集,取出c1和c2的交集
=======================================================
迭代器:
        Collection c = new ArrayList();
        Itreator it = c.Itreator();
        it.hasNext(); 判断石头有元素
        it.next()每次+1

======================================================
list集合:
       
        remover()通过索引删除
        get();获取值




       


       
       

2 个回复

正序浏览
总结的很好。
回复 使用道具 举报
总结的很好。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马