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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 小p 中级黑马   /  2015-7-23 22:23  /  127 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

/*
Collection
        List:元素是有序的,元素可以重复。该集合体系有索引。
                ArrayList:数据结构为数组结构。 查询速度快  线程不同步
                LinkedList:底层使用的是链表结构。增删速度快
                Vector:数组结构  线程同步
        Set:元素是无序的,元素不可以重复。
List:
        特有方法:凡是可以操作角标的方法都是该体系的特有方法。

        add(index,element);
        addAll(index,Collection);

        remove(index);

        set(index,element);

        get(index);
        subList(from,to);
        listIrerator();


List集合特有的迭代器。ListIterator是Iterator的子接口。
在迭代时,不可以通过集合对象的方法操作集合中的元素。
因为会发生并发修改异常。

所以,在迭代器时只能用迭代器的方法操作元素,但Iterator的方法只能对元素进行判断、取出、删除操作
如果想要其它的操作,如添加,修改等,就需要使用其子接口,ListIterator。

该接口只能通过List集合的ListIterator方法获取

*/
import java.util.*;

class  ListDemo
{

        public static void method()
        {
                ArrayList al = new ArrayList();
                al.add("java01");
                al.add("java02");
                al.add("java03");
               
                sop("原集合是:"+al);
                //在指定位置添加元素。
                al.add(1,"java09");

                //删除指定位置元素
                //al.remove(2);
               
                //修改元素
                //al.set(2,"java007");

                //通过角标获取元素。
                sop("get(1):"+al.get(1));
                sop(al);

                //获取所有元素。
                for(int x=0;x<al.size();x++)
                {
                        System.out.println("al("+x+")="+al.get(x));
                }
                Iterator it = al.iterator();
                while(it.hasNext())
                {
                        sop(it.next());
                }

                //通过indexOf获取对象的位置。
                sop(al.indexOf("java02"));

                List sub = al.subList(1,3);

                sop ("sub="+sub);
        }
        public static void main(String[] args)
        {
                //演示列表迭代器。
               
                ArrayList al = new ArrayList();
                al.add("java01");
                al.add("java02");
                al.add("java03");

               
                ListIterator li = li.listIterator();

                while(li.hasNext())
                {
                        Object obj = it.next();

                        if(obj.equals("java02")
                                li.add("java009");
                        //sop(obj);
                }
                sop(al);


                /*
                //在迭代过程中,准备添加或者删除元素。

                Iterator it = al.iterator();

                while(it.hasNext())
                {
                        Object obj = it.next();

                        if(obj.equals("java02")
                                //al.add("java008");
                        sop(obj);
                }*/

        }
        public static void sop(Object obj)
        {
                System.out.println(obj);       
        }
}

1 个回复

正序浏览
哈,复习了。总结的不错~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马