• List集合——list.add(index, element)和list.set(index, element)的区别


    add(index, element)

    • 含义:在集合索引为index的位置上增加一个元素element,集合list改变后list.size()会增加1
    • 用法
      • testList.add(index, element);

    set(index, element)

    • 含义:在集合索引为index的位置上改变一个元素,改变后的元素为element,集合list改变后list.size()不变
    • 用法
      • testList.set(index, element);
      • Integer set = testList.set(index, element);
      • 返回值:原list集合中,索引为index的元素。

    使用条件

    • 不符合条件会报错
    • add(index, element)
      • list != null
      • index需要小于等于list.size()
    • set(index, element)
      • list != null  && list.size() !=0
      • index需要小于list.size()

    例子

    • 一:add(index, element)和set(index, element)插入集合对比
      • 代码
        public class TestList {
            
            private static List<Integer> testList;
        
            public static void main(String[] args) {
                
                initList();//初始化list
                System.out.println("initList="+testList.toString());
                System.out.println("initList.size="+testList.size());
                addList();//add list
                System.out.println("addList="+testList.toString());
                System.out.println("addList.size="+testList.size());
                
                System.out.println("##############################");
                
                initList();//初始化list
                System.out.println("initList="+testList.toString());
                System.out.println("initList.size="+testList.size());
                setList();//set list
                System.out.println("setList="+testList.toString());
                System.out.println("setList.size="+testList.size());
            }
            
            /**
             * 初始化list
             */
            private static void initList(){
                testList = new ArrayList<Integer>();
                testList.add(1);
                testList.add(2);
                testList.add(3);
                testList.add(4);
            }
            
            /**
             * add list
             */
            private static void addList(){
                testList.add(2, 20);
            }
            
            /**
             * set list
             */
            private static void setList(){
                testList.set(2, 20);
            }
        }
      • 执行结果
        initList=[1, 2, 3, 4]
        initList.size=4
        addList=[1, 2, 20, 3, 4]
        addList.size=5
        ##############################
        initList=[1, 2, 3, 4]
        initList.size=4
        setList=[1, 2, 20, 4]
        setList.size=4
    • 二:set(index, element)返回值对比
      • 代码
        public class TestListTwo {
            
            private static List<Integer> testList;
        
            public static void main(String[] args) {
                
                initList();//初始化list
                System.out.println("initList="+testList.toString());
                
                Integer retValue = setList();//set list
                
                System.out.println("setList="+testList.toString());
                System.out.println("setList的返回值="+retValue);
            }
            
            /**
             * 初始化list
             */
            private static void initList(){
                testList = new ArrayList<Integer>();
                testList.add(1);
                testList.add(2);
                testList.add(3);
                testList.add(4);
            }
            
            /**
             * set list
             */
            private static Integer setList(){
                Integer retValue = testList.set(2, 20);
                return retValue;
            }
        }
      • 执行结果
        initList=[1, 2, 3, 4]
        setList=[1, 2, 20, 4]
        setList的返回值=3
    • Next
  • 相关阅读:
    Android 自定义View (二) 进阶
    设计模式 装饰者模式 带你重回传奇世界
    Android 自定义View (一)
    C++ 习题 输出日期时间--友元类
    设计模式 观察者模式 以微信公众服务为例
    Binomial Coeffcients 历届山东省省赛题
    做一只美腻的程序媛
    java编程中容易犯2的细节汇总
    Arrays.asList()
    SQL Server用表组织数据
  • 原文地址:https://www.cnblogs.com/zuiyue_jing/p/10136347.html
Copyright © 2020-2023  润新知