当多个列有重复时,删除arraylist的一列中的重复项

时间:2013-03-07 16:18:03

标签: java arraylist duplicates resultset

我有一个搜索函数用于从我的数据库返回结果集的文档。我将此结果集存储在arraylist中以显示在前端。此arraylist包含以下字段。 fileName(有重复),日期(有重复),类型(有重复)需要(布尔,有重复)。如果重复文件名,我只想显示一次,并修改该行中的相应列以显示'N / A'。我一直在尝试使用SET但没有成功。如果您需要更多详细信息,请告诉我们。 例如: 下面是我如何将结果集转换为arraylist。现在让我们说这个arraylist有一个

   String a= request.getParameter("name");
String cust = request.getParameter("custId");
String Type = request.getParameter("prodType");
ArrayList searchResult = msgDH.getSearchDtls(a,cust,Type); 

(上面的函数执行过程并返回{fileName,date,type,required(y / n})的表

现在让我们在搜索结果中重复一个示例文件名'Sample1'(以及其他文件),其中包含不同的相应“类型”值和相同的“日期”和“必需”值。我怎样才能显示一行带有文件名' Sample1'和文件类型为'n / a'或任何其他字符串。

2 个答案:

答案 0 :(得分:0)

我想你正在使用YourOwnObject。覆盖对象中的equals()以满足您的需求,然后将所有填充的对象放入SetSet会删除重复项。

答案 1 :(得分:0)

不知道您的数据库:

Select distinct file_name, data, type, required  
from my_database