java List与ListIterator

List结构

如果实现了List接口的集合类,具备的特点: 有序,可重复

  • ArrayList ArrayList 底层是维护了一个Object数组实现 的, 特点: 查询速度快,增删慢。
    什么时候使用ArrayList: 如果目前的数据是查询比较多,增删比较少的时候,那么就使用ArrayList存储这批数据

  • LinkedList

  • Vector(了解即可)

List接口中特有方法:
  • 添加
add(int index, E element) 
addAll(int index, Collection<? extends E> c) 
  • 获取:
get(int index) 
indexOf(Object o) 
lastIndexOf(Object o) 
subList(int fromIndex, int toIndex) 
  • 修改:
set(int index, E element) 
List接口中特有的方法具备的特点:

操作的方法都存在索引值。
只有List接口下面的集合类才具备索引值。其他接口下面的集合类都没有索引值。

ctrl + shift + / 添加多行注释

ctrl + shift + \ 取消多行注释

public class Demo2 {
    
    public static void main(String[] args) {
        List list=  new ArrayList();
        list.add("狗娃");
        list.add("狗剩");
        list.add("铁蛋");  //把元素添加到集合的末尾处。
        list.add("狗娃");
        
        /*  
           //添加方法
        list.add(1, "赵本山"); // 把元素添加到集合中的指定索引值位置上。
        List list2 = new ArrayList();
        list2.add("本山");
        list2.add("小沈阳");
        list.addAll(2,list2); //把list2的元素添加到list集合指定索引值的位置上。
         */
        
        /*
//      获取的方法 
        System.out.println("get方法获取元素:"+list.get(1)); //根据索引值获取集合中的元素
        使用get方法遍历集合的元素:
        for (int i = 0; i < list.size() ; i++) {
            System.out.print(list.get(i)+",");
        }
        
        System.out.println("找出指定元素第一次出现在集合中 的索引值:"+ list.indexOf("本山"));
        System.out.println("找指定的元素最后一次出现在集合中的索引值:"+list.lastIndexOf("狗娃"));
        List subList = list.subList(1, 3); //指定开始与结束的索引值截取集合中的元素。
        System.out.println("子集合的元素是:"+ subList);
     */ 
        list.set(3, "赵本山"); //使用指定的元素替换指定索引值位置的元素。
        
        
        System.out.println("集合的元素:"+list);
    
    }
}
迭代
listIterator() 
ListIterator特有的方法:
hasPrevious()  判断是否存在上一个元素。
previous()    当前指针先向上移动一个单位,然后再取出当前指针指向的元素。
        
next();  先取出当前指针指向的元素,然后指针向下移动一个单位。 
    
add(E e)   把当前有元素插入到当前指针指向的位置上。
set(E e)   替换迭代器最后一次返回的元素。
public class Demo3 {
    
    public static void main(String[] args) {
        List list = new ArrayList();
        list.add("狗娃");
        list.add("狗剩");
        list.add("铁蛋");
        list.add("美美");
        
        ListIterator it = list.listIterator(); //返回的是一个List接口中特有的迭代器
        /*System.out.println("有上一个元素吗?"+ it.hasPrevious());
        System.out.println("获取上一个元素:"+it.previous());
        it.next();
        System.out.println("获取上一个元素:"+ it.previous());
        
        
        while(it.hasNext()){
            it.next();
        }
        
        while(it.hasPrevious()){
            System.out.println("元素:"+ it.previous());
        }
        
        
        it.next();
        it.next();
        it.add("张三");
        */
        it.next();
        it.next();
        it.set("张三");
        
        
        System.out.println("集合的元素:"+ list);
        
        
    }

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第十天 权限修饰符 public protected default private 同一类 true true ...
    炙冰阅读 3,573评论 0 1
  • 集合的使用 概念 集合:存储对象的容器,面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,存...
    夏有清风丶阅读 7,087评论 0 3
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 32,119评论 18 399
  • 一、集合框架的概述 1、概述: 1、简述:所谓集合,就是为方便对多个对象的操作,对对象进行存储。集合就是存储对象最...
    玉圣阅读 3,496评论 0 4
  • 我一直觉得自己是个比较懒散的人,忘记了是什么年纪知道了中庸之道,之后就一直没有了做第一的心情,当然,我心里肯...
    简筱晓阅读 3,126评论 0 0