zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    js与设计模式访问者模式
    js与设计模式外观模式
    由一个小Bug推及ie及ff的dom元素差异
    构建一个前端库做一个富客户端的基类
    [原创]LINQ 学习系列教程文章索引
    Sublime Text 2 性感无比的代码编辑器!程序员必备神器!跨平台支持Win/Mac/Linux
    Ubuntu分区
    非常不错的WCF入门文章,来自Artech
    助记:MIME类型
    F#学习存疑求解答:关于使用Cotinuation仍然堆栈溢出的问题
  • 原文地址:https://www.cnblogs.com/zuiyue_jing/p/10136347.html
Copyright © 2011-2022 走看看