码迷,mamicode.com
首页 > 其他好文 > 详细

黑马程序员_List集合自学笔记

时间:2015-11-25 15:15:22      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:

------- android培训、java培训、期待与您交流! ----------

Collection有两个直接子类List和Set。List有三个子类:ArrayList,LinkedList,Vector。

        ArrayList:
            底层数据结构是数组,查询快,增删慢。
            线程不安全,效率高。
        Vector:
            底层数据结构是数组,查询快,增删慢。
            线程安全,效率低。
        LinkedList:
            底层数据结构是链表,查询慢,增删快。
            线程不安全,效率高。

 集合是用来存储元素,存储的元素需要查看,那么就需要迭代(遍历) 
 迭代器的使用
            Collection c = new ArrayList();
            c.add("a");
            c.add("b");
            c.add("c");
            c.add("d");
            
            Iterator it = c.iterator();                        //获取迭代器的引用
            while(it.hasNext()) {                            //集合中的迭代方法(遍历)
                System.out.println(it.next());
            }

集合框架(并发修改异常产生的原因及解决方案)
     需求:我有一个集合,请问,我想判断里面有没有"world"这个元素,如果有,我就添加一个"javaee"元素,请写代码实现。
            List list = new ArrayList();
            list.add("a");
            list.add("b");
            list.add("world");
            list.add("d");
            list.add("e");
            
            /*Iterator it = list.iterator();
            while(it.hasNext()) {
                String str = (String)it.next();
                if(str.equals("world")) {
                    list.add("javaee");            //这里会抛出ConcurrentModificationException并发修改异常
                }
            }*/
            
ConcurrentModificationException出现原因:迭代器遍历,集合修改集合,解决方案:迭代器迭代元素,迭代器修改元素(ListIterator的特有功能add)
            ListIterator lit = list.listIterator();        //如果想在遍历的过程中添加元素,可以用ListIterator中的add方法
            while(lit.hasNext()) {
                String str = (String)lit.next();
                if(str.equals("world")) {
                    lit.add("javaee");    
                    //list.add("javaee");
                }
            }

黑马程序员_List集合自学笔记

标签:

原文地址:http://www.cnblogs.com/zxyblog/p/4994602.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!