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(增删改查)的更多相关文章

  1. JAVA JDBC 增删改查简单例子

    1.数据库配置文件jdbc.properties driver=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/test username= ...

  2. java中增删改查(CRUD)总结

    对于User表增删改查:1:save(保存方法)  view(查询所有记录) update(更新方法) delete(删除方法) 通过method这个参数进行判断执行不同的操作 2: 具体的实现:   ...

  3. Java MVC 增删改查 实例

    需求:实现增加新部门的功能,对应数据库表示Oracle的dept表 一.Java MVC 增 实现: 1.视图层(V):注册部门 deptAdd.jsp 在注册新部门页面只需输入“部门名称”和“城市” ...

  4. java基础: ArrayList集合应用, ArrayList增删改查详解,综合java基础实现学生管理系统,

    1.ArrayList 集合和数组的区别 : 共同点:都是存储数据的容器 不同点:数组的容量是固定的,集合的容量是可变的 1.1 -ArrayList的构造方法和添加方法 public ArrayLi ...

  5. java连接数据库增删改查公共方法

    package dao; import java.io.IOException; import java.sql.CallableStatement; import java.sql.Connecti ...

  6. Java List 增删改查

    定义2个类,课程类和选课类 package com.imooc.collection; /** * 课程类 */ public class Course { private String id; pr ...

  7. java mongodb 增删改查 工具类

    package com.jttx.demo;   import com.mongodb.*; import com.mongodb.util.JSON;   import java.net.Unkno ...

  8. 基于mongodb的java之增删改查(CRUD)

    1,下载驱动https://github.com/mongodb/mongo-java-driver/downloads,导入工程java中 2,建立测试代码 import java.net.Unkn ...

  9. Java数据库增删改查

    数据库为MySQL数据库,Oracle数据库类似: create database db_test;--创建数据库 ';--创建用户 grant all privileges on db_test.* ...

  10. mongoDB用java实现增删改查

    package mongo; import java.net.UnknownHostException; import com.mongodb.BasicDBObject; import com.mo ...

随机推荐

  1. XF 文档 - Element Framework Doc

    配置篇 Chapter Configuration Schema篇 Chapter Schema 查询篇 Chapter Querying Data 数据更改及验证篇 Chapter Data Mod ...

  2. 学习indy组件之一idhttp的使用方法

    登录 注册 百度首页 新闻 网页 贴吧 知道 音乐 图片 视频 地图 百科 文库 经验 搜索答案我要提问 首页 分类 公社 知道行家 问医生 高质量问答 经验 个人中心手机知道开放平台   关于del ...

  3. AUTOIT解决域控普通用户以管理员身份安装软件方法

    windows域管理,本是很好的管理方式,方便的软件分发,权限控制等功能.不过由于我处软件分发总有那么一些电脑没有成功安装,或是新装的电脑安装软件时漏了安装一些软件,而这些软件需要管理员权限安装的,用 ...

  4. android 程序代码执行adb

    Runtime.getRuntime().exec("adb pull /dev/graphics/fb0 C:/fb1"); Runtime. getRuntime().exec ...

  5. Android自动化学习笔记之MonkeyRunner:官方介绍和简单实例

    ---------------------------------------------------------------------------------------------------- ...

  6. JS正则大全

    验证数字:^[0-9]*$ 验证n位的数字:^\d{n}$ 验证至少n位数字:^\d{n,}$ 验证m-n位的数字:^\d{m,n}$ 验证零和非零开头的数字:^(0|[1-9][0-9]*)$ 验证 ...

  7. Winform Textbox MultiLine和WordWrap属性的使用

    突然用到,有些不明白,零乱记录下: 1.MultiLine属性为True时,Dock属性Fill值才能达到所需效果 2.MultiLine属性为False时,WordWrap属性也是无效果的,同1,T ...

  8. linux pam 控制模式

    工作类别(type).流程栈(stack)和控制模式(control) Linux-PAM 工作的"类别"(type) PAM 的具体工作主要有以下四种类别(type):accou ...

  9. Shaders(读书笔记4 --- Real-Time rendering)

    1. vertex,pixel以及geometry shaders共享一个programming model,即common-shader core,在GPU架构中的unified shader可以和 ...

  10. 解决vs2008无法切换设计视图的问题

    在 Visual Studio 2008的编辑一个web页面的时候,“源视图”(Source View), 你可以自定义设计视图(Design View)为默认视图. 方法如下: 菜单:工具+选项+h ...