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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

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

List集合:
                void add(int index, Object obj);         在指定位置添加指定元素
                Object remove(int index);                         移除集合中指定位置的元素,并将被移除的元素返回
                Object get(int index);                                 根据索引,返回对应位置的元素
                Object set(int index,Object obj);    修改指定位置的元素
               
                List体系的独有遍历方式:
                        1、get()和size()方法结合使用。       

                并发修改异常:ConcurrentModificationException
                        产生原因:
                                用普通的迭代器遍历集合的时候,同时对集合中的元素进行了修改(添加或者删除)。
                        解决方案:
                                用列表迭代器(ListIterator)来遍历,并且通过列表迭代器的add()方法来添加元素。

                ListIterator列表迭代器:
                        public boolean hasNext();    //判断集合中是否有下一个元素(正向遍历)
                        public Object next();

                        public boolean hasPrevious(); //判断集合中是否有上一个元素(逆向遍历)
                        public Object previous();

                        注意事项:
                                进行逆向遍历之前,必须先对集合进行正向遍历,否则结果可能不是我们想要的。

                Vector类:(了解)
                        有些企业中的项目,如果是早起研发的,那么可能使用的集合是Vector,咱们能看懂他们写的是什么意思就行了。
                       
                数据结构:数组和链表
                        数组:查询快,修改快,增删慢。
                                  因为每个元素都有编号(索引),并且编号从0开始。

                        链表:查询慢,修改慢,增删快。

                List三个儿子的特点:
                        ArrayList:底层是数组,查询快,增删慢。线程不安全,效率高。
                        Vector:底层是数组,查询快,增删慢。线程安全,效率低。
                        LinkedList:链表。查询慢,增删快。线程不安全,效率高。

                        什么时候使用List的那个儿子?
                                查询多:ArrayList
                                增删多:LinkedList
                                都多,或者你不知道你不知道用谁: ArrayList
       


                练习:
                        我有一个集合,然后往里边添加hello,world,java三个元素,
                        我想判断里面有没有“world”这个元素。
                                如果有,我就添加一个“javaee”元素,
                                没有什么都不添加。

                        注意:用迭代器来做。

0 个回复

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