• java List接口


    Collection子接口;

    List是有序的集合,集合中每个元素都有对应的顺序序列。List集合可使用重复元素,可以通过索引来访问指定位置的集合元素(顺序索引从0开始),List集合默认按元素的添加顺序设置元素的索引,比如第一个元素的索引就是0,好似数组。

    List作为Collection子接口当然拥有其所有方法,同时也有自己的方法:

    void add(int index,Object e):将元素e添加到List集合中的index处;

    boolean addAll(int index,Collection c):将集合c所包含的所有元素都插入在List集合的index处;

    Object get(int index):返回集合index索引处的元素;

    int indexOf(Object o):返回对象o在List集合中第一次出现位置的索引;

    int lastIndexOf(object o):返回对象o在List集合中最后一次出现的位置索引;

    Object remove(int index):删除并返回index索引处的元素;

    Object set(int index,Object e):把集合index处的元素替换为e对象,返回以前在指定位置的元素;

    List subList(int fromIndex,int toIndex):返回从所有fromIndex(包括)到toIndex(不包括)处所有集合元素的子集合。

    ListIterator

    Iterator的子接口,专门用于操作List集合的输出;

    List自己还有一个listIterator()方法,该方法返回ListIterator对象,ListIterator继承了Iterator接口,提供了专门操作List的方法。在Iterator上额外增加的方法:

    支持双向输出:

    boolean hasPrevious():返回该迭代器关联集合是否还有上一个元素;

    Object previous():返回该迭代器的上一个元素;

    我的总结:这是相对更加特殊的一个接口,只用于List集合,可以完成逆序输出!

    Eg:

    package july7;

    import java.util.ArrayList;

    import java.util.List;

    import java.util.ListIterator;

    public class Demo16 {

        public static void main(String[] args) {

            List<Integer> l = new ArrayList<Integer>();

            l.add(12);

            l.add(24);

            l.add(36);

            l.add(23);

            l.add(37);

           

            System.out.println(l);

           

            ListIterator<Integer> it = l.listIterator();

            while(it.hasNext()){

                System.out.println("正序:"+it.next());

            }

            System.out.println("==================================");

            //使用向前迭代前必须将游标(指针)移动到后边!

            while(it.hasPrevious()){

                System.out.println("逆序:"+it.previous());

            }

        }

    }

    输出:

    [12, 24, 36, 23, 37]

    正序:12

    正序:24

    正序:36

    正序:23

    正序:37

    ==================================

    逆序:37

    逆序:23

    逆序:36

    逆序:24

    逆序:12

  • 相关阅读:
    数据库备份 DBS(Database Backup),知识点
    关系型数据库 RDS(Relational Database Service),知识点
    对象存储服务 OSS(Object Storage Service),知识点(待补充上仓库代码)
    Java 为什么需要包装类,如何使用包装类?
    for each 语句
    缓存中,2个注解:@cacheable 与 @cacheput 的区别
    微信小程序,相关代码
    微信小程序中的事件
    通俗易懂:索引、单列索引、复合索引、主键、唯一索引、聚簇索引、非聚簇索引、唯一聚簇索引 的区别与联系
    MySQL 的各种 join
  • 原文地址:https://www.cnblogs.com/fanweisheng/p/11136147.html
Copyright © 2020-2023  润新知