как найти положение элемента, содержащего определенный символ

#java #methods #chaining

#Ява #методы #сцепление

Вопрос:

передумал, нашел решение, спасибо

Комментарии:

1. Из вашего описания не ясно, какую структуру содержит список? Это какой-то класс людей с именем и фамилией? Или что? Если вы повторяете список regst, то regst.getName(i).getFirstName() не имеет никакого смысла. Пожалуйста, опишите, что в списке?

Ответ №1:

Вам не нужно реализовывать какую-либо итерационную логику, поскольку она уже есть в ArrayList. Просто получите список из реестра

 Listlt;Namegt; list = register.getList(); // you need a getter for this  

Затем просто повторите список и верните список необходимых имен:

 public Listlt;Namegt; findNames(Listlt;Namegt; list) {  Listlt;Namegt; result = new ArrayListlt;gt;();  for (Name name : list) {  if (name.getFirstName().contains("a") || name.getFirstName().contains("e")) {  result.add(name);  }  }  return result; }  

Или использовать потоковый API:

 public static Listlt;Namegt; findNames(Listlt;Namegt; list) { return list.stream()  .filter(name -gt; name.getFirstName().contains("a") || name.getFirstName().contains("e"))  .collect(Collectors.toList()); }  

Если вам нужно получить первую букву этого имени, вы можете реализовать такой метод в классе Name:

 public String getInitials() {  return firstName.charAt(0)   "."   familyName.charAt(0)   "."; }