黑马程序员技术交流社区

标题: 关于集合的总结 [打印本页]

作者: HARRY_yFd0S    时间: 2016-9-9 20:50
标题: 关于集合的总结
1.集合
    1.ArrayList去除集合中的重复元素
        集合在存储自定义对象的时候.要求自定义对象必须要重写equals方法,因为集合中的contains方法和remove方法需要
        依赖元素的equals方法才能实现效果.

    2.LinkedList:(了解)
        addFirst(Object): 把元素添加到第一个位置
        addLast(Object): 把元素添加到集合的后面
        removeFirst(): 删除第一个元素.
        removeLast(): 删除集合中最后一个元素
        getFirst(): 获取集合中的第一个元素
        getLast(): 获取集合中的最后一个元素

    3.数据结构:
        1.栈结构:
            特点: 先进后出

        2.队列结构:
            特点: 先进先出.


2.泛型:
    1.未知的数据类型.在使用的时候才指定数据类型(JDK1.5的新特性)

    2.泛型的好处:   
        1.提高安全性(把运行时的异常提前到编译期了)
        2.省去了强转的麻烦.

    3.注意事项:
        1.前后的泛型要一致(后面可以省略不写,只写尖括号即可,菱形泛型(JDK1.7的新特性))
        2.泛型定义为Object是没有意义的.
        3.泛型必须是引用数据类型

    4.泛型的使用:
        1.必须要会在集合中使用泛型!!

        2.泛型中需要了解的内容:
            1.泛型类.(在定义类的时候在类上面声明一个泛型)\

            2.泛型方法:
                1.非静态方法: 可以使用类上面的泛型, 也可以自己定义一个泛型
                2.静态方法: 不可以使用类上面的泛型, 必须要自己定义一个泛型.

            3.泛型接口:
                在定义接口的时候在接口上声明一个泛型.

                可以在什么时候确定泛型的类型?
                    1.在定义类实现接口时,就指定该泛型的类型.
                    2.在定义类时也给类指定一个跟接口中的泛型一致的泛型


            4.定义泛型的注意事项:
                1.不要使用JDK提供的类的类名作为泛型,容易混淆..

            5.泛型通配符.(了解)



3.集合加强
    1.增强for
        格式:
            for(数据类型 变量名:数组或者Collection集合){
                //........
            }

        底层是依赖迭代器(Iterator)

        作用:简化遍历

    2.三种遍历方式:
        1.普通for循环遍历:
            可以在遍历的过程中删除元素(使用集合中的删除方法)

        2.迭代器遍历:
            可以在遍历的过程中删除元素(使用迭代器中的删除方法)

        3.增强for遍历:
            不可以在遍历的过程中删除元素

    3.静态导入:
        只能导入静态方法

        格式:
            import static 包名.类名.方法名;

        不推荐使用!

    4.可变参数:(定义在方法上)
        格式: 数据类型...变量名

        可变参数实际上就是一个数组.

        1.如果一个方法中,既有可变参数,又有一般参数,可变参数一定要放在最后.
        2.一个方法中不能同时定义两个可变参数.


    5.Arrays工具类中的asList方法:
        asList(数组对象): 把这个数组对象转换成一个集合对象.
            如果是引用类型的数组, 转换成集合后,数组中的元素就是集合中的元素
            如果是基本类型的数组,转换成集合后, 该数组就变成了集合中的一个元素.

        为什么要把数组转换成集合?
            可以用集合中的方法来操作数组.

        数组通过asList方法转换成集合之后, 该集合不能进行增删的操作! 可以修改集合中的元素!


        集合转数组:
            Collection中的toArray方法:
                toArray(数组对象): 返回的是一个对应的数组对象.

            注意:
                如果传入的数组长度小于等于集合的长度, 返回的数组长度等于集合的长度.
                如果传入的数组长度大于集合的长度,返回的数组的长度就是指定的长度!



作者: gjf821687    时间: 2016-9-9 21:10
学的时候都懂,当学到后面的时候,前面感觉有忘了
作者: NewBeeCoder    时间: 2016-9-9 21:41
学习一下 赞一个
作者: 宝瓶子    时间: 2016-9-9 22:05
可以,知识点很详细




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2