黑马程序员---Java中的集合(二)--List派系

                                                  关于Java中的集合-List派系(二)
                 --------- android培训java培训、java学习型技术博客、期待与您交流! ------------

上一篇总结了集合框架中老大Collection,这篇总结它下面的几个小弟List派系

1.List派系
List是一个接口,是这个列表清单的顶层接口 。他下面有这些小弟
数组链表ArrayList,链表LinkedList,数组Vector

凡是List集合中的所有小弟,特点:
 A .    存储到List集合中的对象,有序排列的 123 abc
 B.     存储的时候,和取出的时候顺序一致
 C.     List集合允许存储重复对象
 D.     List集合存储的对象都有下标

//================================================
2.List接口中的方法

void add(int index, E element) 在一个指定的位置上,插入一个对象
     
Object get(int index)通过下标,获取指定下标上的元素 。通过for循环遍历也可以获取集合。

Object remove(int index)通过下标,移除指定的元素 .返回的是,被删除的那个元素 
Object set(int index, Object Element)修改指定位置上的元素 。

List subList(int fromIndex, int toIndex) 获取集合一部分,返回新集合 subtring

listIterator() 返回List特有迭代器对象

//================================================
3.List派系的特有迭代器ListIterator

A.正向遍历集合,逆向遍历集合 。 遍历的过程中,可以修改集合,包括增加,删除

B.逆向遍历的 前提条件,正向遍历一次
hasPrevious() == hasNext()
previous() == next()

使用List集合进行特有的逆向遍历的案例:

//使用List集合进行特有的逆向遍历
 private static void method_1(){
  List list = new ArrayList();
  list.add("abc1");
  list.add("abc2");
  list.add("abc3");
  list.add("abc4");
 
  ListIterator lit = list.listIterator();
  //前提条件,正向遍历一次
  while(lit.hasNext()){
   System.out.println(lit.next());
  }
  System.out.println("=========================");
 
  while(lit.hasPrevious()){
   System.out.println(lit.previous());
  }
 }

//=====================================================
4. ArrayList类
1. 底层数据结构是数组,可变的数组
2. 增长率50%
3. 查询快,增删慢
4. 线程不安全,执行效率很高
5. 需要集合存储对象的时候,如果迭代比较频繁,首先考虑使用ArrayList

  增insert 删delete 改update 查select

//=====================================================
5. Vector 类

  这个集合的底层数据结构,是可变数组结构
  查询快,增删慢
  Vector增长率100%
  Vector集合线程安全的,执行效率低
  从1.2版本开始,ArrayList取代Vector

//=====================================================
6. LinkedList类
  LinkedList底层数据结构,链表数据结构
  查询慢,增删快
  线程不安全,执行效率高
  LinkedList自己特有的方法
   void addFirst(E e)
          将指定元素插入此列表的开头。
   void addLast(E e)
          将指定元素添加到此列表的结尾。
   
    E removeFirst()
          移除并返回此列表的第一个元素。
    E removeLast()
          移除并返回此列表的最后个元素
    E getFirst()
          返回此列表的第一个元素。
    E getLast()
          返回此列表的最后一个元素。 


                       ---------  android培训 java培训 、java学习型技术博客、期待与您交流! ------------
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值