JAVA.UTIL.ARRAYLIST 详解

[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]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值