Java基础-知识点总结-Java集合框架(List)

Java集合框架(List)

【List集合中的具体常用对象】

 

                    Collection

 

                           |--List:元素是有序的,元素可以重复;因为该集合体系有索引

 

                                  |--ArrayList:底层数据结构使用的是数组结构;查询速度很快,但增

 

                                                       加和删除稍慢;线程不同步;ArrayList初始化时,默

 

                                                       认长度为10,当向其中添加的元素超过10时,ArrayList

 

                                                       会重新创建一个对象长度增加50%,然后把原来列表

 

                                                       中的元素和刚添加的元素一同添加到新的ArrayList中

 

                                  |--LinkedList:底层数据结构使用的是链表结构;增加和删除速度很

 

                                                       快,但查询速度慢

 

                                  |--Vector:底层使用的是数组结构;线程同步;Vector初始化时,默

 

                                                       认长度为10,当向其中添加的元素超过10时,Vector

 

                                                       会重新创建一个对象长度增加100%,然后把原来存在

 

                                                       的元素和刚添加的元素一同添加到新的Vector中

 

                                         +Vector中的枚举

 

                                                Vector中有elements()方法,返回的是枚举Enumeration

 

                                                枚举是Vector特有的取出方式,其实枚举和迭代器是一样

 

                                                的,但由于枚举的名称和其中的方法名称过长,所以被迭代

 

                                                器取代了。

 

                    LinkedList中的特有方法

 

                           添加:

 

                                  addFirst(Ee):将指定元素插入到此列表的开头

 

                                  addLast(Ee):将指定元素添加到次列表的末尾

 

                                  从JDK1.6版本开始:

 

                                  offerFirst(Ee):将指定元素插入到此列表的开头

 

                                  offerLast(Ee):将指定元素插入到此列表的末尾

 

                           获取:

 

                                  getFirst():返回此列表中第一个元素,不删除元素;若列表中没有

 

                                                 元素,则会抛出NoSuchElementException异常

 

                                  getLast():返回此列表中最后一个元素,不删除元素;若列表

 

                                                 中没有元素,则会抛出NoSuchElementException异常

 

                                  removeFirst():返回此列表中的一个元素,但该元素会被删除;若列

 

                                                 表中没有元素,则会抛出NoSuchElementException异常

 

                                  removeLast():返回此列表中最后一个元素,但不删除元素;若列表

 

                                                 中没有元素,则会抛出NoSuchElementException异常

 

                                  从JDK1.6开始

 

                                  peekFirst():返回此列表中第一个元素,不删除元素;若列表中没

 

                                                 有元素,则返回null

 

                                  peekLast():返回此列表中最后一个元素,不删除元素;若列表中没

 

                                                 有元素,则返回null

 

                                  pollFirst():返回此列表中第一个元素,但该元素会被删除;若列

 

                                                 表中中没有元素,则返回null

 

                                  poolLast():返回此列表中最后一个元素,不删除元素;若列表中没

 

                                                 有元素,则返回null

 

 

【List中的共性方法】

 

                    集合框架中所有操作角标的方法,都是该体系特有的方法

 

                    由于List继承自Collection,所以Collection中的共性方法,List中

 

                    都有,以下是List中的特有共性方法

 

                    增加:

 

  • add(int index,E element):在列表中的指定位置插入指定元素

  • addAll(int index,Collection<?extends E> c):在列表中的指定位置开始插入Collection中的所有元素

    删除:

  • remove(int index):移除列表中指定位置上的元素

    修改:

  • set(int index,Eelement):用指定元素替换列表中指定位置上的元素

    查找:

  • get(int index):返回列表中指定位置上的元素

  • subList(int fromIndex,int toIndex):返回列表中从fromIndex(包含)和toIndex(不包含)之间的部分视图

  • listIterator():返回列表中列表迭代器

    注意:List中判断元素是否相同依据的是元素中的equals()方法

    Listiterator:

           List中特有的迭代器是Iteraotr的子接口

           由于在迭代时不可以通过集合对象的方法操作集合中的元素,否则会发生

           ConcurrentModificationException异常

           所以在迭代时,只能用迭代器的方法操作元素,但Iterator中的方法是有

           限的,只能对元素进行判断,读取和删除。如果想要对元素进行其他操作

           则需要其子接口ListIterator该接口,该接口只能通过List集合中的

           listIterator()方法获取。

           ListIterator中的方法:

                  |- add(E e):将指定元素添加到列表

                  |- hasPrevious():逆向遍历列表,判断前一位是否有元素

                  |- previous():返回前列表中一个元素

                  |- nextIndex():返回下一个元素的索引

                  |- previousIndex():返回前一个元素的索引

                  |- set(E e):用指定元素替换next或previous返回的最后一个元素

例:

 

 

ArrayList al = new ArrayList();
		al.add("java01");
		al.add("java02");
		al.add("java03");
		ListIterator li = al.listIterator();
		while (li.hasNext()) {
			if (li.next().equals("java02"))
				li.add("java007");
		}
		System.out.println("al=" + al);

 

 

 

             打印结果为:al=[java01,java02,java007,java03]



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值