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
Java——List:list.add(index, element)和list.set(index, element)的区别的更多相关文章
- 论Java的ArrayList.add(e)和C++的vector.push_back(e)的区别
Java的ArrayList和C++的vector很类似,都是很基本的线性数据结构.但是他们的表现却不同. 在工作中碰到一个问题就是,搞不清楚到底传进去的是一个新对象,还是当前对象的引用! 经过实战分 ...
- java Queue中 add/offer,element/peek,remove/poll区别
转自https://blog.csdn.net/u012050154/article/details/60572567 java Queue中 add/offer,element/peek,remov ...
- Java进阶(二十四)Java List集合add与set方法原理简介
Java List集合add与set方法原理简介 add方法 add方法用于向集合列表中添加对象. 语法1 用于在列表的尾部插入指定元素.如果List集合对象由于调用add方法而发生更改,则返回 tr ...
- 【转】java.lang.NoSuchMethodError: javax.persistence.Table.indexes()[Ljavax/persistence/Index;
最近在配置最新的ssh(struts2.3.16.3+hibernate4.3.7+spring4.1.2)的时候遇到的这个错误提示,后来在网上找了半天都不能解决,虽然有个说法是model对象用这样@ ...
- Caused by: java.lang.NoSuchMethodError: javax.persistence.Table.indexes()[Ljavax/persistence/Index
1.错误描述 WARN:2015-05-01 16:45:37[main] - Exception encountered during context initialization - cancel ...
- Attempt to invoke interface method 'boolean java.util.List.add(java.lang.Object)' on a null object reference
尝试在一个空的对象引用上引用boolean java.util.List.add()这个方法: 错误例子: private ArrayList<String> classList; cla ...
- Suggestion: add 'tools:replace="android:value"' to <meta-data> element at AndroidManifest.xml:25:5-27:41 to override.
记录下来少走些坑吧 一:不管用 tools:replace="android:icon,android:theme" xmlns:tools="http://schema ...
- Attempt to invoke interface method 'boolean java.util.List.add(java.lang.Object)' on a null
1.Android Studio报错 Attempt to invoke interface method 'boolean java.util.List.add(java.lang.Object)' ...
- resin下发布项目报错java.lang.NoSuchMethodError: javax.persistence.Table.indexes()[Ljavax/persistence/Index
我的resin版本为4.0.56; 项目在tomcat下启动正常,打包在resin下发布时报错:java.lang.NoSuchMethodError: javax.persistence.Table ...
- 问题记录——java.lang.IllegalArgumentException: Illegal character in scheme name at index 0
以下http请求报错是因为,请求的地址前面有个空格.... 2019-01-09 03:30:23,154 ERROR [business.modules.merchantreportresult.s ...
随机推荐
- vue-lazyload的使用
1.下载依赖 npm install vue-lazyload --save 2.引入 import Vue from 'vue' import App from '@/App' import Vue ...
- ActiveMQ之spring集成消息转换器MessageConverter
MessageConverter的作用主要有两方面,一方面它可以把我们的非标准化Message对象转换成我们的目标Message对象,这主要是用在发送消息的时候:另一方面它又可以把我们的Message ...
- jquery ajax 中各个事件执行顺序
jquery ajax 中各个事件执行顺序如下: 1.ajaxStart(全局事件) 2.beforeSend 3.ajaxSend(全局事件) 4.success 5.ajaxSuccess(全局事 ...
- 安装oracle经验
1.使用database configuration assistant配置和创建数据库 2.使用net manager配置监听 3.使用netconfiguration assistant配置服务
- 软工网络15团队作业4——Alpha阶段敏捷冲刺1.0
软工网络15团队作业4--Alpha阶段敏捷冲刺1.0 1. 各个成员在 Alpha 阶段认领的任务,以及整个项目预期的任务量(使用整数表示,与项目预估的总工作小时数一致.比如项目A预估需120小时才 ...
- 08 集合[11,22,33,44,55,66,77,88,99],将所有<66的值保存至字典的第一个key中,将所有>=66的值保存至字典的第二个key中。即:{'k1':<66的所有值,'k2':>=66的所有值}
li = [11,22,33,44,55,66,77,88,99]dict = {'k1':[],'k2':[]}for i in li: if i < 66: dict[& ...
- Math对象属性
2018-11-28 11:18:46
- 【2017-2-20】C#运算符
运算符分类: 1.算术运算符 ⑴+ - * / %(取余,模) /3; Console.Write(d); Console.ReadLine(); 则输出结果为“3”,因为10和3都是int型,dec ...
- 【impala学习之一】impala
环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 jdk8 CM5.4 一.ImpalaImpala是基于Hive的大数 ...
- Linux服务器---配置nfs
配置nfs NFS服务的主要配置文件为/etc/exports./etc/exports文件内容格式: <输出目录> 客户端(选项:访问权限,用户映射,其他) 1.输出目录 输出目录是指N ...