【简易版】Java ArrayList(增删改查)
1、什么是ArrayList
ArrayList就是传说中的动态数组,用MSDN中的说法,就是Array的复杂版本,它提供了如下一些好处:
(1)动态的增加和减少元素
(2)实现了ICollection和IList接口
(3)灵活的设置数组的大小
2、ArrayLis的创建以及增删改查方法
(1)ArrayList的创建以及元素的添加ArrayList <变量名> = new ArrayList(); //()中也可传参。
注释:上面是创建一个空的ArrayList列表。当我们想往列表中传递元素的时候是通过.add()的方法来进行赋值的。看一下下面的案例。另外要想输出出列表中的元素的话要通过for循环遍历。
public class test {
public static void main(String[] args) {
ArrayList lis = new ArrayList();
lis.add("tony");
lis.add("tom");
lis.add("jack");
lis.add("mary");
lis.add("even");
for(int i=0;i<lis.size();i++){
String result = (String)lis.get(i);
System.out.println(result);
}
结果:输出结果如下。
tony
tom
jack
mary
even
(2)ArrayList中元素的删除
注释:变量名.remove(int Index); //通过.remove(int Index)方法来进行删除。这里直接传入要删除元素的下标即可。当然也可以直接传入值进行删除。如果你觉得用下边的方式比较麻烦那可以直接输入要删除项的值。
package com.java.demo_9;
import java.util.ArrayList;
public class Arraylist {
public static void main(String[] args) {
ArrayList lis = new ArrayList();
lis.add("tony");
lis.add("tom");
lis.add("jack");
lis.add("mary");
lis.add("even");
System.out.println("---------------------------------");
System.out.println("<ArrayList原列表元素>:");
for (int i = 0; i < lis.size(); i++) {
String result = (String) lis.get(i);
System.out.println(result);
}
System.out.println("---------------------------------");
System.out.println("<删除元素后的ArrayList列表>:");
lis.remove(1);
for (int i = 0; i < lis.size(); i++) {
String result = (String) lis.get(i);
System.out.println(result);
}
System.out.println("---------------------------------");
}
}
结果:因为我指定的是lis.remove(1); index是从0开始起始的因此1代表第2个元素。因此删除的是tom这个元素。
<ArrayList原列表元素>:
tony
tom
jack
mary
even
---------------------------------
<删除元素后的ArrayList列表>:
tony
jack
mary
even
---------------------------------
(3)ArrayList中元素的修改注释:ArrayList方法中有一个.set方法(变量.set(index, element);)。通过这个方法可以修改列表中的值。(index指定下标,element指定要修改后元素的值)。一起来看一下下面的示例。
package com.java.demo_9;
import java.util.ArrayList;
public class Arraylist {
public static void main(String[] args) {
ArrayList lis = new ArrayList();
lis.add("tony");
lis.add("tom");
lis.add("jack");
lis.add("mary");
lis.add("even");
System.out.println("---------------------------------");
System.out.println("<ArrayList原列表元素>:");
for (int i = 0; i < lis.size(); i++) {
String result = (String) lis.get(i);
System.out.println(result);
}
System.out.println("---------------------------------");
System.out.println("<修改后的ArrayList列表>:");
//lis.remove("tom");
lis.set(2, "lucy");
for (int i = 0; i < lis.size(); i++) {
String result = (String) lis.get(i);
System.out.println(result);
}
System.out.println("---------------------------------");
}
}
结果:通过下面的结果可以看出第3个下标中的值已经被改变了。本来是jack现在更改成了lucy。
<ArrayList原列表元素>:
tony
tom
jack
mary
even
---------------------------------
<修改后的ArrayList列表>:
tony
tom
lucy
mary
even
---------------------------------
(3)ArrayList中元素的查找
注释:.contains()是用来判断一个元素是否包含在另一个元素中的。所以这里是判断查找的元素是否包含在列表中。返回值方面我直接用的是打印的方法。也可以通过boolean,return的方式返回。
案例1:
import java.util.ArrayList;
public class tes {
public static void main(String[] args) {
ArrayList lis = new ArrayList();
lis.add("tony");
lis.add("tom");
lis.add("jack");
lis.add("mary");
lis.add("even");
if(lis.contains("vivian")){
System.out.println("包含此元素!");
}
else{
System.out.println("该元素不存在!");
}
}
}
结果:返回结果参照代码。找到了就打印“包含此元素,没找到就显示元素不存在。
案例2:
package com.java.demo_9;
import java.util.ArrayList;
public class ArrLis {
public static void main(String[] args) {
ArrayList list =new ArrayList();
list.add("tony");
list.add("tom");
list.add("jack");
list.add("kevin");
for(int i=0;i<list.size();i++){
String result =(String )list.get(i);
System.out.println(result);
}
System.out.println("+++++++++++++++++++++++++++++++++++++");
ArrayList list1 = new ArrayList();
for(int i=0;i<list.size();i++){
String res = (String)list.get(i);
if(list.contains("kevin")){
list1.add("kevin");
System.out.println(list1);
break;
}else{
System.out.println("没找到该元素!");
break;
}
}
}
}
结果:因为列表中中包含"kevin"这个元素所以返回值为该元素。如果列表中没有该元素返回值为“没有找到该元素!”。
注意事项:我是重新设定了一个新空ArrayList(list1)。目的就是为了如果找到该值把这个值直接放到新的ArrayList中。另外if,else用了2次break。就是只要找到或者没找到就退出的意思。如果不这么写那么for循环每找一次结果就会打印一次,这显然是不必要的。
能够实现上例的方法很多,这里只介绍了ArrayList最基础的方法。仅供参考!
【简易版】Java ArrayList(增删改查)的更多相关文章
- JAVA JDBC 增删改查简单例子
1.数据库配置文件jdbc.properties driver=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/test username= ...
- java中增删改查(CRUD)总结
对于User表增删改查:1:save(保存方法) view(查询所有记录) update(更新方法) delete(删除方法) 通过method这个参数进行判断执行不同的操作 2: 具体的实现: ...
- Java MVC 增删改查 实例
需求:实现增加新部门的功能,对应数据库表示Oracle的dept表 一.Java MVC 增 实现: 1.视图层(V):注册部门 deptAdd.jsp 在注册新部门页面只需输入“部门名称”和“城市” ...
- java基础: ArrayList集合应用, ArrayList增删改查详解,综合java基础实现学生管理系统,
1.ArrayList 集合和数组的区别 : 共同点:都是存储数据的容器 不同点:数组的容量是固定的,集合的容量是可变的 1.1 -ArrayList的构造方法和添加方法 public ArrayLi ...
- java连接数据库增删改查公共方法
package dao; import java.io.IOException; import java.sql.CallableStatement; import java.sql.Connecti ...
- Java List 增删改查
定义2个类,课程类和选课类 package com.imooc.collection; /** * 课程类 */ public class Course { private String id; pr ...
- java mongodb 增删改查 工具类
package com.jttx.demo; import com.mongodb.*; import com.mongodb.util.JSON; import java.net.Unkno ...
- 基于mongodb的java之增删改查(CRUD)
1,下载驱动https://github.com/mongodb/mongo-java-driver/downloads,导入工程java中 2,建立测试代码 import java.net.Unkn ...
- Java数据库增删改查
数据库为MySQL数据库,Oracle数据库类似: create database db_test;--创建数据库 ';--创建用户 grant all privileges on db_test.* ...
- mongoDB用java实现增删改查
package mongo; import java.net.UnknownHostException; import com.mongodb.BasicDBObject; import com.mo ...
随机推荐
- XF 文档 - Element Framework Doc
配置篇 Chapter Configuration Schema篇 Chapter Schema 查询篇 Chapter Querying Data 数据更改及验证篇 Chapter Data Mod ...
- 学习indy组件之一idhttp的使用方法
登录 注册 百度首页 新闻 网页 贴吧 知道 音乐 图片 视频 地图 百科 文库 经验 搜索答案我要提问 首页 分类 公社 知道行家 问医生 高质量问答 经验 个人中心手机知道开放平台 关于del ...
- AUTOIT解决域控普通用户以管理员身份安装软件方法
windows域管理,本是很好的管理方式,方便的软件分发,权限控制等功能.不过由于我处软件分发总有那么一些电脑没有成功安装,或是新装的电脑安装软件时漏了安装一些软件,而这些软件需要管理员权限安装的,用 ...
- android 程序代码执行adb
Runtime.getRuntime().exec("adb pull /dev/graphics/fb0 C:/fb1"); Runtime. getRuntime().exec ...
- Android自动化学习笔记之MonkeyRunner:官方介绍和简单实例
---------------------------------------------------------------------------------------------------- ...
- JS正则大全
验证数字:^[0-9]*$ 验证n位的数字:^\d{n}$ 验证至少n位数字:^\d{n,}$ 验证m-n位的数字:^\d{m,n}$ 验证零和非零开头的数字:^(0|[1-9][0-9]*)$ 验证 ...
- Winform Textbox MultiLine和WordWrap属性的使用
突然用到,有些不明白,零乱记录下: 1.MultiLine属性为True时,Dock属性Fill值才能达到所需效果 2.MultiLine属性为False时,WordWrap属性也是无效果的,同1,T ...
- linux pam 控制模式
工作类别(type).流程栈(stack)和控制模式(control) Linux-PAM 工作的"类别"(type) PAM 的具体工作主要有以下四种类别(type):accou ...
- Shaders(读书笔记4 --- Real-Time rendering)
1. vertex,pixel以及geometry shaders共享一个programming model,即common-shader core,在GPU架构中的unified shader可以和 ...
- 解决vs2008无法切换设计视图的问题
在 Visual Studio 2008的编辑一个web页面的时候,“源视图”(Source View), 你可以自定义设计视图(Design View)为默认视图. 方法如下: 菜单:工具+选项+h ...