[size=medium][color=red][b]java.util.ArrayList[/b][/color][/size]
[size=medium] 数组和数组列表之间有着重大的区别。数组是 Java 语言的一个特征,对于每个元素类型 T ,都有数组类型 T[]; 然而, ArrayList 类是个定义 java.util 包中的类库。这是一个存放 object 类型元素的 " 普通性 " 的类型。要注意的是,要从数组列表中提取元素时,需要进行类型转换。
使用 add 方法可以向数组列表中添加新元素:
ArrayList staff = new ArrayList();
staff.add(new Employee(....));
staff.add(new Employee(....));
ArrayList 类管理了一个 Object 引用的内部数组。最终,可能会用完数组的空间。如果调用了 add ,而内部数组已经满了,数组列表将自动创建了一个更大的数组,并自动把小数组中的对象拷贝到大数组中
Size 方法返回数组列表的实际元素个数
staff.size() 它等价于数组 a 的 a.length
访问数组列表元素
因为 ArrayList 类不是 Java 语言的一部分,它只是个提供在标准库中、由某人编写的工具类,并不像在访问数组元素时可以使用 [] 语法那
样,要存取或改变数组元素,你必须使用 get 和 set 方法
要设置第 i 个元素,需要使用:
staff.set(i,harry);
得到数组列表元素要更复杂一些,因为 get 方法返回的类型是 Object ,你还需要把它转换为想要的类型
Employee e = (Employee)staff.get(i); 它等价于 Employee e = a[i];

最后总结一下:
无需指定数组大小
用 add 增添任意多的元素 ;
用 size() 代替 length 计算元素的个数 ;
用 (Employee)a.get(i) 代替 a[i] 访问元素 i;
public Collection setRollBack(QueueVB job) throws CustomException
{

String sqlselect = " select FileName from JobQueue where BatchNum= " + job.getBatchNum() + " and DocTypeID= " + job.getDocTypeID() + " and JobState='6' " ;
String sql = " update JobQueue set JobState= " + JobState.SAVE + " where BatchNum= " + job.getBatchNum() + " and DocTypeID= " + job.getDocTypeID() + " and JobNum= " + job.getJobNum() + "" ;
ArrayList array = new ArrayList();
System.out.println(sql);
try
{
getConnection = ConnectionLocator.getInstance().getConnection(strJNDI);
ResultSet rs = null ;
if (getConnection != null )
{
PreparedStatement pstmt1 = getConnection.prepareStatement(sqlselect);
PreparedStatement pstmt = getConnection.prepareStatement(sql);

rs = pstmt1.executeQuery();
pstmt.executeUpdate();
while (rs.next())
{
String fileName = rs.getString( " FileName " );
FileNameVB filenameVB = new FileNameVB();// 将得到的 “ 文件名 “ 进行封装
filenameVB.setFileName(fileName);
array.add(filenameVB);
}
try
{
pstmt.close();
}
catch (SQLException e)
{ throw new CustomException(e.getMessage(), " exs " );}
try
{
getConnection.close();
}
catch (SQLException e)
{ throw new CustomException(e.getMessage(), " exs " );}
}
}
catch (SQLException e)
{ throw new CustomException(e.getMessage(), " ex00050 " );}
return array;
}
读取 arraylist 里的值
Collection m = inputFacade.setRollBack(job);
ArrayList array = (ArrayList)m;
for ( int i=0;i<array.size();i++)
{
filenameVB = (FileNameVB)array.get(i);
}[/size]

JAVA.UTIL.ARRAYLIST 详解相关推荐

  1. java多线程学习-java.util.concurrent详解

    http://janeky.iteye.com/category/124727 java多线程学习-java.util.concurrent详解(一) Latch/Barrier 博客分类: java ...

  2. java多线程详解 六_java多线程学习-java.util.concurrent详解(六) Exchanger

    转载于:http://janeky.iteye.com/blog/769965 我们先来学习一下JDK1.5 API中关于这个类的详细介绍: "可以在pair中对元素进行配对和交换的线程的同 ...

  3. Java并发包-java.util.concurrent详解

    转载自https://blog.csdn.net/axi295309066/article/details/65665090 一.阻塞队列BlockingQueue BlockingQueue通常用于 ...

  4. java.util包详解

    介绍Java的实用工具类库java.util包.在这个包中,Java提供了一些实用的方法和数据结构.本章介绍Java的实用工具类库java.util包.在这个包中,Java提供了一些实用的方法和数据结 ...

  5. java.util.ConcurrentModificationException详解

    一.异常产生 当我们迭代一个ArrayList或者HashMap时,如果尝试对集合做一些修改操作(例如删除元素),可能会抛出java.util.ConcurrentModificationExcept ...

  6. java多线程学习-java.util.concurrent详解(一) Latch/Barrier

    2019独角兽企业重金招聘Python工程师标准>>> Java1.5提供了一个非常高效实用的多线程包:java.util.concurrent, 提供了大量高级工具,可以帮助开发者 ...

  7. java多线程学习-java.util.concurrent详解(五) ScheduledThreadPoolExecutor

    转载于:http://janeky.iteye.com/blog/769965 我们先来学习一下JDK1.5 API中关于这个类的详细介绍: "可另行安排在给定的延迟后运行命令,或者定期执行 ...

  8. JAVA笔记- JAVA集合类之ArrayList详解

    1- 集合概述 A) 面向对象编程语言对事物的描述都是通过对象来体现的. 为了方便对多个对象进行操作,我们就必须对这多个对象进行存储,而要想对多个对象进行存储,就不能是一个基本的变量,而应该是一个容器 ...

  9. java拉姆达表达式事例,Java Lambda表达式详解和实例

    简介 Lambda表达式是Java SE 8中一个重要的新特性.lambda表达式允许你通过表达式来代替功能接口. lambda表达式就和方法一样,它提供了一个正常的参数列表和一个使用这些参数的主体( ...

最新文章

  1. VUE 动态绑定class
  2. 机器学习中的最优化算法总结
  3. VS调试技巧之附加进程
  4. Android 自定义ProgressDialog
  5. linux基础lvm
  6. mantelhean.test r语言_请教如何将mantel test报告性的结果转化为表格。
  7. git rebase教程
  8. Python高阶函数和eval函数
  9. 单片机数码管从00到99C语言_MSP430单片机轻松入门与实践 — 畅学单片机
  10. rtthread 串口dma接收_RT-Thread 串口DMA使用笔记--STM32F207
  11. 使用Mockito测试Spring组件
  12. python计算程序运行时间
  13. Delphi中exit、break、continue等跳出操作的区别
  14. Postgresql 查看当前数据库所有的触发器
  15. java dispose null_Java Map释放内存置null以及调用clear()的区别
  16. python建立ip代理池_如何建Python爬虫的IP代理池?3步学会搭建IP代理池
  17. JSP EL表达式中11个隐藏对象file:///D:/SoftwareFile/qq file/MobileFile/34090016310074682(1).png
  18. 一张表带你了解自动化测试工具Parasoft VS TestBed
  19. was cached in the local repository, resolution will not be reattempted until(Maven常见问题)
  20. 统计学理论—假设检验

热门文章

  1. C++ 打怪游戏 原创 小镇4.0--机甲纪元
  2. 推荐12个国外免费自助建站网站
  3. 计算机考研面试自我介绍范文英语,研究生英语面试自我介绍范文三篇
  4. 如何使用利用nat123实现内网穿透
  5. 微信小程序实现瀑布流布局
  6. 超详细Redis入门教程——Redis 的安装与配置
  7. 泰勒级数为什么不可以展开?
  8. 远程控制电脑会不会泄露隐私
  9. 华为ensp 401 错误解决方案
  10. HAWQ技术解析(十一) —— 数据管理