我也不知道怎么给你举例好! 我这样写 你看能理解不: 1: Vector<Object> v = new Vector<Object>(); v.add(new Object());
2: ArrayList<Object> al = new ArrayList<Object>(); al = (ArrayList<Object>)Collections.synchronizedList(al); al.add(new Object());这两种操作在多线程环境下 是类似的 也是安全的!
看看这代码 ,都用上了Vector和HashTable,能解释一些这2个作用吗?DealString ds = new DealString(); int j = 0; do { if(rs==null ¦ ¦j == records ¦ ¦temp==0 ¦ ¦page> sum) { break; } j++; ResultSetMetaData rsmd = rs.getMetaData(); int cols = rsmd.getColumnCount(); Hashtable hash = new Hashtable(); for(int i = 1; i <= cols; i++) { String field = ds.toString(rsmd.getColumnName(i)); String value = ds.toString(rs.getString(i)); hash.put(field, value); } vect.add(hash); }while(rs.next()); }catch(SQLException sqle) { System.out.println("执行SQL语句 " + sql + " 分页至第 " + page + " 页时出错;错误为:" + sqle); } finally { Rs.close(); Pstm.close(); } return vect; }
v.add(new Object());
2: ArrayList<Object> al = new ArrayList<Object>();
al = (ArrayList<Object>)Collections.synchronizedList(al);
al.add(new Object());这两种操作在多线程环境下 是类似的 也是安全的!
int j = 0;
do
{
if(rs==null ¦ ¦j == records ¦ ¦temp==0 ¦ ¦page> sum)
{
break;
}
j++; ResultSetMetaData rsmd = rs.getMetaData();
int cols = rsmd.getColumnCount();
Hashtable hash = new Hashtable();
for(int i = 1; i <= cols; i++)
{
String field = ds.toString(rsmd.getColumnName(i));
String value = ds.toString(rs.getString(i));
hash.put(field, value);
}
vect.add(hash);
}while(rs.next());
}catch(SQLException sqle)
{
System.out.println("执行SQL语句 " + sql + " 分页至第 " + page +
" 页时出错;错误为:" +
sqle);
}
finally
{
Rs.close();
Pstm.close();
}
return vect;
}