现在有两个 ArrayList 集合存储队伍当中的多个成员姓名要求使用传统的for循环或增强for循环依次进行以 下若干操作步骤:1 第一个队伍只要名字为3个字的成员姓名;2 第一个队伍筛选之后只要前3个人;3 第二个队伍只要姓张的成员姓名;4 第二个队伍筛选之后不要前2个人;5 将两个队伍合并为一个队伍;6 根据姓名创建 Person 对象;7 打印整个队伍的Person对象信息。
可以按照以下步骤进行操作:
- 创建两个ArrayList集合,分别存储第一个队伍和第二个队伍的成员姓名。
ArrayList<String> team1 = new ArrayList<>();
team1.add("张三");
team1.add("李四");
team1.add("王五");
team1.add("赵六");
team1.add("钱七");
ArrayList<String> team2 = new ArrayList<>();
team2.add("张飞");
team2.add("张三丰");
team2.add("刘备");
team2.add("张翼德");
team2.add("关羽");
- 使用传统的for循环或增强for循环遍历第一个队伍,只选择名字为3个字的成员姓名。
ArrayList<String> filteredTeam1 = new ArrayList<>();
for (String name : team1) {
if (name.length() == 3) {
filteredTeam1.add(name);
}
}
- 从第一个队伍筛选之后,只选择前3个人。
ArrayList<String> selectedTeam1 = new ArrayList<>();
for (int i = 0; i < 3; i++) {
selectedTeam1.add(filteredTeam1.get(i));
}
- 使用传统的for循环或增强for循环遍历第二个队伍,只选择姓张的成员姓名。
ArrayList<String> filteredTeam2 = new ArrayList<>();
for (String name : team2) {
if (name.startsWith("张")) {
filteredTeam2.add(name);
}
}
- 从第二个队伍筛选之后,不选择前2个人。
ArrayList<String> selectedTeam2 = new ArrayList<>();
for (int i = 2; i < filteredTeam2.size(); i++) {
selectedTeam2.add(filteredTeam2.get(i));
}
- 将两个队伍合并为一个队伍。
ArrayList<String> mergedTeam = new ArrayList<>();
mergedTeam.addAll(selectedTeam1);
mergedTeam.addAll(selectedTeam2);
- 根据姓名创建Person对象,并打印整个队伍的Person对象信息。
class Person {
private String name;
public Person(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "Person [name=" + name + "]";
}
}
ArrayList<Person> persons = new ArrayList<>();
for (String name : mergedTeam) {
persons.add(new Person(name));
}
for (Person person : persons) {
System.out.println(person);
}
``
原文地址: https://www.cveoy.top/t/topic/hF9R 著作权归作者所有。请勿转载和采集!