учитывать одинаковые значения?

#java #jsp #loops #foreach

#java #jsp #циклы #foreach

Вопрос:

Привет, мне было интересно, как использовать в JSP цикл

        <c:forEach > </c:forEach 
  

в коллекции Java, сформированной: 1 , 1, 2, 3

Предполагая, что есть

        <table></table> 
  

вокруг foreach, и каждое значение коллекции находится внутри

 <tr></tr> 
  

он показывает четыре строки или три? Учитывает ли он одни и те же значения каждый раз (например, «1») или нет?

1
1
2
3
или
1
2
3

Ответ №1:

c: forEach — это не что иное, как цикл for для JSP, и он работает так же, как цикл for будет работать в ядре Java, если вы хотите пропустить дубликаты в файле jsp, вы можете сделать две вещи: использовать структуру данных, которая не допускает дубликатов, таких как SET и т. Д., Или вы можете использовать c:если вместе с c:forEach в файле JSP, который будет проверять наличие дубликатов, и вы можете удалить их в своей таблице.

Ответ №2:

c:forEach просто перебирает коллекцию одну за другой. forEach не имеет какой-либо специальной обработки для дубликатов. Если коллекция может содержать дубликаты, она не пропустит их.

Если вам не нужны дубликаты, вам следует рассмотреть возможность использования структуры данных, которая в первую очередь не допускает дубликатов, например, Set .