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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 磊子 中级黑马   /  2015-9-14 23:24  /  311 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

集合加强:
        增强for:
                格式:
                        for(元素的数据类型 变量名 : 数组或者集合名){
                                //具体的功能代码
                        }
                ArrayList<String> list = new ArrayList<String>();

        案例:ArrayList存储字符串、自定义对象并遍历(增强for版)

        遍历集合:
                1、普通for: get(),size()方法
                2、迭代器。
                3、增强for。
                        底层是依赖于迭代器的。

                问:这三种遍历方式能不能在遍历集合的同时,删除集合中的元素。
                        A:普通for。
                                可以。但是注意索引要--。 (看需求)
                        B:迭代器。
                                可以。但是要调用迭代器的remove()方法,不要调用集合的remove()方法。
                                注意:
                                        遍历集合的同时,往集合中添加元素,
                                        如果使用的是普通的迭代器,是不可以的,会报并发修改异常。
                                        如果使用的是列表迭代器,是可以的,但是要使用列表迭代器中的add()方法。
                        C:增强for。
                                不可以。
               

可变参数:
        什么时候使用?
                定义的方法,不知道形参的个数的时候就可以考虑使用。
        格式:
                修饰符 返回值类型 方法名(数据类型... 变量名){  //int... b
               
                }
        注意事项:
                1、可变参数底层其实是一个数组。
                2、如果方法有多个参数,并且有可变参数时候,可变参数必须放参数列表最后。

集合和数组之间的相互转换:
        集合转数组:
                toArray();   
                注意:
                        如果数组的长度大于集合的长度,转换后的数组长度是数组自己的长度。
                        如果数组的长度小于等于集合的长度,转换后的数组长度是集合的长度。
                示例:
                        集合:10 20 30  (Integer)
                        数组长度是5:  10 20 30 null null
                        数组长度是3:  10 20 30
                        数组长度是2:  10 20 30

        数组转集合:
                Arrays类中的asList()。
                注意:
                        数组转成集合后,集合中的元素不能添加或删除。
                        要转集合的数组必须是引用类型,如果基本类型,会直接吧该基本类型的数组当做集合中的一个元素。


ArrayList集合的嵌套:
        关键点:
                1、创建一个学科集合。
                        ArrayList<ArrayList<Person>> list = ArrayList<>();
                2、遍历的时候,通过增强for的嵌套遍历,获取到每一个学员,然后输出学员的信息。
       

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马