2010-09-28 221 views
1

我是新来的Java,我想知道是否有可能做到以下几点:两个数组列表进行比较的数据,并做更新在Java中

我有阵

名单的两个不同的列表甲

1111,A,B,C 
1111,E,E,F 
1111,Z,Z,Z 
2222,C,D,E 
4444,E,E,E 
..... 

列表B

1111,123,N 
2222,222,Y 
3333,333,N 
4444,444,N 
..... 

所以基本上,列表A将使用第1点的数据从名单A.它找到一个后在第1列

我想这样做是为了

  1. 搜索列表B重复值列表B中与数据匹配的行(即1111),它将列表B第3列更新为某个值(即N)。

  2. 后来当我处理列表B时,根据列3中每行的值,我知道我需要去列表A以获取数据。

现在我想知道我该怎么做?另外,当我做上述#2时,对于一个值(即1111)有重复的行,我怎样才能确保我获得了所有的数据?

任何建议,非常感谢。

谢谢

+0

我会得到不可避免的答案:这是关于何时使用关系数据库的教科书示例。 – 2010-09-28 16:37:37

+0

列表A实际上是来自Oracle数据库的查询。由于数据库表中有许多记录,并且如果我没有将整个表放入数组中,程序需要在列表B中查询数据库中的每个值,并且可能有超过100,000行。 – Ding 2010-09-28 16:44:46

+0

@Ding,听起来像列表B不在数据库中。但是,如果仅将相关数据(在您的示例中,每行的第1列,第3列)插入到临时表中,则可以执行数据库中的所有过滤查询,并提取所需的内容......这是不可行的在你的情况下? – 2010-09-28 19:27:00

回答

0

迭代通过将列1值放入HashSet。

接下来,遍历B并将列3的值设置为您的HashSet是否包含第1列(B)中的值。