• 解析List接口中的常用的被实现子类重写的方法


    解析List接口中的常用的被实现子类重写的方法

    1 在index位置插入element元素

    1.1 使用方法

    List接口的实现子类.add(int index,Object element);
    //返回值类型为void,原集合的index位置及其以后的元素都会往后移动一位
    
    • 1
    • 2

    1.2 示例代码

    package Work;
    import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.List;
    public class Test07 {
        public static void main(String[] args) {
            List arr = new ArrayList();
            arr.add("12");
            arr.add("66");
            arr.add("77");
            Iterator iterator = arr.iterator();
            while (iterator.hasNext()) {
                Object next =iterator.next();
                System.out.println(next);
            }
            System.out.println("在下标为1的位置插入字符串55后");
            arr.add(1,"55");
            //使用for循环进行遍历
            for (int i = 0; i < arr.size(); i++) {
                System.out.println(arr.get(i));
            }
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23

    1.3 示例代码运行截图

    在这里插入图片描述

    2 从index位置开始将集合里面的所有元素添加进来

    2.1 使用方法

    Collection集合的实现子类.addAll(int index,Collection c);
    //返回值类型为布尔类型,只要添加成功了元素,就返回true
    //index位置及其以后的元素需要往后移动c集合的size()
    
    • 1
    • 2
    • 3

    2.2 示例代码

    package Work;
    import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.List;
    public class Test07 {
        public static void main(String[] args) {
            List arr = new ArrayList();
            arr.add("12");
            arr.add("66");
            arr.add("77");
            Iterator iterator = arr.iterator();
            System.out.println("添加之前");
            while (iterator.hasNext()) {
                Object next =iterator.next();
                System.out.println(next);
            }
            ArrayList arrayList=new ArrayList();
            arrayList.add("88");
            arrayList.add("22");
            System.out.println("添加之后");
            arr.addAll(1,arrayList);
            //使用for循环进行遍历
            for (int i = 0; i < arr.size(); i++) {
                System.out.println(arr.get(i));
            }
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27

    2.3 示例代码运行截图

    在这里插入图片描述

    3 获取指定index位置的元素

    3.1 使用方法

    Collection接口的实现子类.get(int index);
    //返回值为Object对象,返回你找到的对象,若下标不存在则会抛出异常
    
    • 1
    • 2

    3.2 示例代码

    package Work;
    import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.List;
    public class Test07 {
        public static void main(String[] args) {
            List arr = new ArrayList();
            arr.add("12");
            arr.add("66");
            arr.add("77");
            System.out.println("index下标位置存在");
            System.out.println(arr.get(0));
            System.out.println("index下标位置不存在");
            //会抛出下标越界异常这个运行时异常,在控制台打印错误信息,程序中断,后面的语句不会指向
            System.out.println(arr.get(arr.size()));
            System.out.println("后面的语句");
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    3.3 示例代码运行截图

    在这里插入图片描述

    4 返回obj对象在集合中首次出现的位置

    4.1 使用方法

    List接口下面的实现子类.indexOf(Object obj);
    //返回值类型为int类型,与String类中的indexOf进行类比记忆
    //若没有找到位置Object对象时,会返回-1,找到了就返回对应的下标
    
    • 1
    • 2
    • 3

    4.2 示例代码

    package Work;
    import java.util.ArrayList;
    import java.util.List;
    public class Test07 {
        public static void main(String[] args) {
            List arr = new ArrayList();
            arr.add("12");
            arr.add("66");
            arr.add("77");
            System.out.println("存在Object对象时");
            System.out.println(arr.indexOf("12"));
            System.out.println("不存在Object对象时");
            System.out.println(arr.indexOf("88"));
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    4.3 示例代码运行截图

    在这里插入图片描述

    5 返回obj对象在当前集合中首次出现的位置(从后往前)

    5.1 使用方法

    List接口的实现子类.lastIndexOf(Object o);
    //返回值为int类型,从后往前找,若在集合中首次找到了和o对象内容一样的内容,那就返回集合中的那个下标,若遍历完了还未找到,就返回-1
    
    • 1
    • 2

    5.2 示例代码

    package Work;
    import java.util.ArrayList;
    import java.util.List;
    public class Test07 {
        public static void main(String[] args) {
            List arr = new ArrayList();
            arr.add("12");
            arr.add("66");
            arr.add("77");
            System.out.println("存在Object对象时");
            System.out.println(arr.lastIndexOf("12"));
            System.out.println("不存在Object对象时");
            System.out.println(arr.lastIndexOf("88"));
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    5.3 示例代码运行截图

    在这里插入图片描述

    6 移除指定index位置的元素

    6.1 使用方法

    List接口的实现子类.remove(int index);
    //返回值为Object对象(返回删除位置的那个元素),因为我们想知道根据下标去删除的东西到底是什么
    
    • 1
    • 2

    6.2 示例代码

    package Work;
    import java.util.ArrayList;
    import java.util.List;
    public class Test07 {
        public static void main(String[] args) {
            List arr = new ArrayList();
            arr.add("12");
            arr.add("66");
            arr.add("77");
            System.out.println("删除前");
            for (Object temp01:
                 arr) {
                System.out.println(temp01);
            }
            //因为String类重写了toString方法,所以可以直接打印
            System.out.println("删除的那个元素为:"+arr.remove(1));
            System.out.println("删除后");
            for (Object temp02:
                    arr) {
                System.out.println(temp02);
            }
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23

    6.3 示例代码运行截图

    在这里插入图片描述

    7 设置指定index位置的元素为element(替换)

    7.1 使用方法

    List接口的实现子类.set(int index,Object element);
    //返回值为Object对象,返回被替换掉的元素对象,我们想知道具体是谁被替换掉了
    
    • 1
    • 2

    7.2 示例代码

    package Work;
    import java.util.ArrayList;
    import java.util.List;
    public class Test07 {
        public static void main(String[] args) {
            List arr = new ArrayList();
            arr.add("12");
            arr.add("66");
            arr.add("77");
            System.out.println("替换前");
            for (Object temp01:
                 arr) {
                System.out.println(temp01);
            }
            //因为String类重写了toString方法,所以可以直接打印
            System.out.println("被替换的那个元素的内容为:"+arr.set(1,"99"));
            System.out.println("替换后");
            for (Object temp02:
                    arr) {
                System.out.println(temp02);
            }
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23

    7.3 示例代码运行截图

    在这里插入图片描述

    8 返回从fromIndex位置到toIndex位置的前一位的子集合

    8.1 使用方法

    List接口的实现子类.subList(int index,Object element);
    //返回值为List结合,得到的是一个子集合,原集合不会有变化,类似于String类里面的subString方法
    //如果下标不在范围内,会出现下标越界异常
    
    • 1
    • 2
    • 3

    8.2 示例代码

    package Work;
    import java.util.ArrayList;
    import java.util.List;
    public class Test07 {
        public static void main(String[] args) {
            List arr1 = new ArrayList();
            arr1.add("12");
            arr1.add("66");
            arr1.add("77");
            List arr2=arr1.subList(0,2);
            System.out.println("截取后的子集合内容如下所示:");
            for (int i = 0; i <arr2.size();i++) {
                System.out.println(arr2.get(i));
            }
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    8.3 示例代码运行截图

    在这里插入图片描述

  • 相关阅读:
    Java中的字符串转换工具类:StringUtils.camelToUnderline 方法详解
    记录一次生产环境MySQL死锁以及解决思路
    2023年【通信安全员ABC证】找解析及通信安全员ABC证考试总结
    注解配置SpringMVC
    如何使用grafana 下JSON API访问展示接口数据
    【Redis】一文掌握Redis原理及常见问题
    Unity进阶第二章-消息框架(实现角色吃金币功能)
    EasyCVR视频汇聚平台海康Ehome2.0与5.0设备接入时的配置区别
    强化学习笔记之【SAC算法】
    debian配置distcc分布式编译
  • 原文地址:https://blog.csdn.net/SSS4362/article/details/126108550