java List对象找到年龄为18的
时间: 2024-02-22 07:57:14 浏览: 19
假设你有一个 List 对象,其中存储了多个 Person 对象,每个 Person 对象都有一个 age 属性代表年龄。你可以使用 Java 8 的 Stream API 来查找年龄为 18 的 Person 对象,代码如下:
```java
List<Person> people = // 假设这是一个存储 Person 对象的 List
Optional<Person> person = people.stream()
.filter(p -> p.getAge() == 18)
.findFirst();
```
这段代码使用了 `stream()` 方法将 List 转换为一个 Stream 对象,然后使用 `filter()` 方法筛选出年龄为 18 的 Person 对象,最后使用 `findFirst()` 方法找到第一个符合条件的 Person 对象并返回一个 Optional 对象。如果 List 中不存在年龄为 18 的 Person 对象,那么 `person` 变量的值将为 `Optional.empty()`。
相关问题
java list中对象排序_java中List对象排序通用方法
在 Java 中,可以使用 Collections.sort 方法来对 List 中的对象进行排序。要对 List 中的对象进行排序,需要满足两个条件:
1. List 中的对象实现了 Comparable 接口,实现 compareTo 方法,该方法用于比较两个对象的大小;
2. 调用 Collections.sort 方法进行排序。
下面是一个示例代码,演示如何对 List 中的对象进行排序:
```
import java.util.*;
class Person implements Comparable<Person> {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
@Override
public int compareTo(Person p) {
return this.age - p.age;
}
}
public class Main {
public static void main(String[] args) {
List<Person> list = new ArrayList<Person>();
list.add(new Person("Tom", 20));
list.add(new Person("Jerry", 18));
list.add(new Person("Mike", 25));
Collections.sort(list);
for (Person p : list) {
System.out.println(p.getName() + " " + p.getAge());
}
}
}
```
在上面的示例代码中,Person 类实现了 Comparable 接口,并重写了 compareTo 方法,按照年龄排序。然后,通过 Collections.sort 方法对 List 进行排序。输出结果为:
```
Jerry 18
Tom 20
Mike 25
```
这就是 Java 中对 List 中的对象进行排序的通用方法。
Java list集合中对象根据指定的年龄的顺序进行排序
如果你有一个包含对象的 List 集合,对象中有一个年龄属性,你可以使用 Java 中的 Comparator 接口来实现按照年龄进行排序。Comparator 接口定义了一个 compare() 方法,用于比较两个对象的顺序。下面是一个示例代码:
```java
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public static void main(String[] args) {
List<Person> people = new ArrayList<>();
people.add(new Person("Alice", 25));
people.add(new Person("Bob", 30));
people.add(new Person("Charlie", 20));
// Sort by age using comparator
Collections.sort(people, new Comparator<Person>() {
@Override
public int compare(Person p1, Person p2) {
return Integer.compare(p1.getAge(), p2.getAge());
}
});
// Print sorted list
for (Person person : people) {
System.out.println(person.getName() + " - " + person.getAge());
}
}
}
```
在上面的代码中,我们定义了一个 Person 类,其中包含 name 和 age 属性。我们创建了一个包含三个 Person 对象的 List 集合,然后使用 Collections.sort() 方法和 Comparator 接口来按照年龄排序。在 Comparator 的 compare() 方法中,我们使用 Integer.compare() 方法比较两个 Person 对象的年龄属性。最后,我们遍历排序后的 List 并打印每个人的姓名和年龄。