以下是一个示例代码,演示如何按照字符串数组过滤对象数组:
import java.util.ArrayList;
import java.util.List;
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 class Main {
public static void main(String[] args) {
// 创建字符串数组和对象数组
String[] filterNames = {"Alice", "Bob"};
List persons = new ArrayList<>();
persons.add(new Person("Alice", 25));
persons.add(new Person("Bob", 30));
persons.add(new Person("Charlie", 35));
// 过滤对象数组
List filteredPersons = new ArrayList<>();
for (Person person : persons) {
for (String filterName : filterNames) {
if (person.getName().equals(filterName)) {
filteredPersons.add(person);
break;
}
}
}
// 输出过滤后的结果
for (Person person : filteredPersons) {
System.out.println("Name: " + person.getName() + ", Age: " + person.getAge());
}
}
}
运行以上代码,输出结果为:
Name: Alice, Age: 25
Name: Bob, Age: 30
代码中,我们首先创建了一个Person
类,包含name
和age
属性。然后创建了一个字符串数组filterNames
,用于指定过滤的条件。接着创建了一个对象数组persons
,包含了多个Person
对象。
在过滤过程中,我们使用两层循环,外层循环遍历对象数组中的每个Person
对象,内层循环遍历字符串数组中的每个过滤条件。如果某个Person
对象的名称与任意一个过滤条件相匹配,则将该对象添加到过滤结果列表中。
最后,我们遍历过滤结果列表,输出满足条件的Person
对象的信息。