Collection是单列集合类的根接口,list集合中是以一种线型方式存储的

Map:双列集合类的根接口



collection中API

clear()删除该集合中所有的元素

remove(Object o)删除该集合中指定的元素

isEmpty( )判断是否为空

contains(Object o)判断是否包含

iterator()迭代数据

************

list是collection的子类,list的实现类是ArrayList,ArrayList是集合长度可变的

Arraylist是通过索引进行查询,方便快捷

ArrayList arrayList=new ArrayList();//创建集合
        arrayList.add("q");//向集合中添加数据
        arrayList.add("w");
        arrayList.add("q");
        System.out.println("获取集合的长度:"+arrayList.size());//获取集合的长度:3
        System.out.println("获取集合的第2个元素:"+arrayList.get(1));//获取集合的第2个元素:w

************

list实现类LinkedList,LinkedList内部维护的时是一个双向环链表,增减快

LinkedList中的主要的Api:

添加add(Object o);添加数据放在第一个addFirst(Object o);添加数据放在最后一个addLast(Object o)

返回列表的第一个元素object getFirst(),返回列表的最后一个元素bject getLast();

删除第一个数据Object removeFirst(),删除最后一个数据Object removeLast();

***********

迭代器iterator

iterator与collections和Map不一样,collections与Map主要是存储元素,iterator主要是遍历数据

iterator中的hasNext()判断是否有下一个元素,如果位false就不会再进行判断。next()获取

元素。

举例:

LinkedList list = new LinkedList();
        list.add("a");
        list.add("b");
        list.add("c");
        list.add("d");
        Iterator iterator=list.iterator();
        while(iterator.hasNext()){
            System.out.print(iterator.next());//abcd
        }

获取到的数据都是object类型,需要强制转化。

**********

foreach循环,只能进行遍历,遍历的速度比普通的for遍历的快,因为foreach不需要容器的长度,也不需要容器的索引。它会自动的遍历

容器中的每一个元素。

*********

ListIterator比Iterator增加了几个API其中有hasPrevious(),判断是否有前一个参数,Previous()获取下一个参数,添加参数add(Object o)

删除参数remove();

举例:

LinkedList list = new LinkedList();
        list.add("a");
        list.add("b");
        list.add("c");
        list.add("d");
        //获取ListIterator对象
        ListIterator listIterator=list.listIterator(list.size());
        //判断是否有前一个元素
        while(listIterator.hasPrevious()){
            Object previous = listIterator.previous();
            System.out.println("获取参数:"+previous);//获取参数:d,获取参数:c获取参数:b,获取参数:a
        }

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐