Spring Boot-在ArrayList中搜索单词并在GET中返回

时间:2018-10-09 20:11:52

标签: java arrays list spring-boot

我的 Service 类中有一个数组列表:

@Service
public class PeopleService {

    private List<Person> people = new ArrayList<>(Arrays.asList(  

        new Person("1", "John", "Smith"),
        new Person("2", "Peter", "andna"),
        new Person("3", "Fred", "Rieger")
                    )); 

我想做的是,我想创建一个方法,该方法将在此列表中搜索回文词,然后十个通过GET请求返回。 我的 Controller 希望是这个人:

//GET palindrome
@RequestMapping("/people")
public List <Person> getPalindromePeople() 
{
    return peopleService.getPalindromePeople(); 
}

我知道,对于回文搜索,我应该修改此代码(代码不是我的,我需要对其进行修改):

int i1 = 0;
int i2 = word.length - 1;
while (i2 > i1) {
    if (word[i1] != word[i2]) {
        return false;
    }
    ++i1;
    --i2;
}
return true;

问题是我无法弄清楚如何修改该代码以在我的数组列表中搜索回文词,因为它由3个对象组成,并且每个对象都有3个参数(id,name,surname)。 有人可以给我一点提示吗?我很感激。

1 个答案:

答案 0 :(得分:0)

您需要遍历列表并致电回文检查。 这是根据firstName检查回文的作品

List<Person> persons;
List<Person> resultList = new ArrayList<>();
for(Person person: persons){
    if(istPalindrom((person.getFirstName().toCharArray())))
        resultList.add(person)
}
return resultList

根据您的逻辑,您可以通过更改if条件来添加对fistName和lastName或firstName或lastName的检查