2013-03-07 3 views
0

У меня есть функция поиска для документов, которая возвращает набор результатов из моей базы данных. Я сохраняю этот набор результатов в arraylist для отображения в интерфейсе. Этот arraylist содержит следующие поля. fileName (имеет дубликаты), дата (имеет дубликаты), тип (имеет дубликаты), требуемый (логический, имеет дубликаты). Если имя файла повторяется, я хочу показать его только один раз, а также изменить соответствующие столбцы в этой строке, чтобы показать «N/A». Я пытался использовать SET, но безуспешно. Дайте мне знать, если вам нужно больше деталей. Например: Ниже приведено, как я получаю свой результат в arraylist. Теперь давайте говорить об этом ArrayList имеет одинудалить дубликаты в одном столбце arraylist, когда несколько столбцов имеют дубликаты

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

(выше функция выполняет процедуру и возвращает таблицу {имени файла, дате, типу, требуется (г/п})

Теперь позволяет образец файла «Sample1 '(среди прочего) повторяется в результатах поиска с различными соответствующими значениями «типа» и теми же «датами» и «необходимыми» значениями. Как я могу показать только одну строку с именем файла «Sample1» и типом файла как «n/a 'или любая другая строка.

+0

Не могли бы вы опубликовать соответствующий код - это трудно выяснить, что происходит. –

+0

Пожалуйста, напишите, если отформатирован в ваш вопрос. Что такое 'ArrayList' _of_? –

ответ

0

Предположим, вы используете YourOwnObject. Переопределите equals() в вашем объекте в соответствии с вашими потребностями, а затем pu t все эти населенные объекты в вашем Set. Set удалит дубликаты для вас.

0

Не зная базы данных:

Select distinct file_name, data, type, required 
from my_database 
Смежные вопросы