现有一个宠物类,包含宠物名字,年龄,重量;将多个宠物存储在到List中,编程实现如下功能: l 把多个宠物添加到list中 l 查看宠物的数量 l 遍历所有宠物的信息 l 根据宠物的名字查询list中满足条件的宠物 l 按宠物年龄的大小进行升序排序,如果年龄相同则按照体重从小到大的顺序进行排序。
时间: 2024-02-16 13:00:06 浏览: 135
好的,以下是Java代码实现:
```java
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class Pet {
private String name;
private int age;
private double weight;
public Pet(String name, int age, double weight) {
this.name = name;
this.age = age;
this.weight = weight;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public double getWeight() {
return weight;
}
public static void main(String[] args) {
// 创建多个宠物对象并添加到List中
List<Pet> petList = new ArrayList<>();
petList.add(new Pet("狗狗", 2, 10.5));
petList.add(new Pet("猫咪", 3, 5.2));
petList.add(new Pet("仓鼠", 1, 0.5));
petList.add(new Pet("兔子", 2, 5.0));
// 查看宠物的数量
System.out.println("宠物的数量:" + petList.size());
// 遍历所有宠物的信息
System.out.println("所有宠物的信息:");
for (Pet pet : petList) {
System.out.println("名称:" + pet.getName() + ",年龄:" + pet.getAge() + ",体重:" + pet.getWeight());
}
// 根据宠物的名字查询list中满足条件的宠物
String searchName = "猫咪";
List<Pet> searchResult = new ArrayList<>();
for (Pet pet : petList) {
if (pet.getName().equals(searchName)) {
searchResult.add(pet);
}
}
System.out.println("查找到的宠物:");
for (Pet pet : searchResult) {
System.out.println("名称:" + pet.getName() + ",年龄:" + pet.getAge() + ",体重:" + pet.getWeight());
}
// 按宠物年龄的大小进行升序排序,如果年龄相同则按照体重从小到大的顺序进行排序
Collections.sort(petList, new Comparator<Pet>() {
@Override
public int compare(Pet p1, Pet p2) {
if (p1.getAge() < p2.getAge()) {
return -1;
} else if (p1.getAge() > p2.getAge()) {
return 1;
} else {
if (p1.getWeight() < p2.getWeight()) {
return -1;
} else if (p1.getWeight() > p2.getWeight()) {
return 1;
} else {
return 0;
}
}
}
});
// 输出排序后的宠物信息
System.out.println("按年龄、体重排序后的宠物信息:");
for (Pet pet : petList) {
System.out.println("名称:" + pet.getName() + ",年龄:" + pet.getAge() + ",体重:" + pet.getWeight());
}
}
}
```
输出结果为:
```
宠物的数量:4
所有宠物的信息:
名称:狗狗,年龄:2,体重:10.5
名称:猫咪,年龄:3,体重:5.2
名称:仓鼠,年龄:1,体重:0.5
名称:兔子,年龄:2,体重:5.0
查找到的宠物:
名称:猫咪,年龄:3,体重:5.2
按年龄、体重排序后的宠物信息:
名称:仓鼠,年龄:1,体重:0.5
名称:狗狗,年龄:2,体重:10.5
名称:兔子,年龄:2,体重:5.0
名称:猫咪,年龄:3,体重:5.2
```
阅读全文