Java List PhoneBook

时间:2015-08-22 16:29:32

标签: java list

我有以下结构:

Person{
    int phoneNumber;
    String firstName;
    String secondName;
}
  • 我必须使用list,array(无关紧要)在Java中实现这个结构。
  • 我有一个字符串,类似“Jon”。方法应显示包含“Jon”的所有firstNames。 示例:Jonathan,Jones。
  • 应按firstName,secondName,phoneNumber。
  • 排序我的列表的一种方法

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

您可以创建一个人员列表:

List<Person> phoneBook = new ArrayList<Person>();

然后您可以像这样过滤出List: Java7:

List<Person> foundPersons = new ArrayList<>();
for (Person person : phoneBook) {
    if (person.firstName.contains("Jon")) {
        foundPersons.add(person);
    }
}

或Java8:

List<Person> foundPersons = phoneBook.stream().filter((person) -> {
    return person.firstName.contains("jon");
}).collect(Collectors.toList());

如果Person类实现 List.sort()接口,或者通过向同一方法发送Comparable实例,可以使用Comparator<Person>方法轻松完成排序。