集合框架部分:重点考查List接口,实现类ArrayList和LinkedList,如何添加元素,删除元素,遍历输出的集中方式
如何遍历List集合
对List集合中的Dog按照年龄从小到大排序
List<Dog> dogs=new ArrayLIst()<Dog>;
dogs.add(1,dahuang);
pet.java
package cn.jsj.jcf.p2_1;
/**
* 抽象的父类:一旦有继承关系存在,此时new无任何意义
*/
public abstract class Pet {
private String name;
private int health;
private int love;
public Pet(String name, int health, int love) {
super();
this.name = name;
setHealth(health);
this.love = love;
}
public abstract void toHospital();
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getHealth() {
return health;
}
public void setHealth(int health) {
if (health >= 1 && health <= 100) {
this.health = health;
} else {
System.out.println("健康状况应该在1-100之间");
this.health = 10;
}
}
public int getLove() {
return love;
}
public void setLove(int love) {
this.love = love;
}
public void shout() {
System.out.println("宠物的自白");
System.out.println("我的名字叫" + name + "\n我的健康值" + health + "我和主人的亲密程度是"
+ love);
}
}
dog.java
package cn.jsj.jcf.p2_1;
public class Dog extends Pet implements Comparable{
private String breed;
public Dog(String name, int health, String breed, int love) {
super(name,health,love);
setBreed(breed);
}
public void toHospital(){
System.out.println("打针");
System.out.println("吃药");
// 治疗后,狗的健康状况变为60
setHealth(60);
}
public void catchFlyingDisk(){
System.out.println("啦啦啦,接飞盘喽……");
setHealth(getHealth()-10);
setLove(getLove()+5);
}
public void shout() {
super.shout();
System.out.println("我的品种是" + breed);
}
public String getBreed() {
return breed;
}
public void setBreed(String breed) {
this.breed = breed;
}
@Override
public int compareTo(Object o) {
return this.getHealth()-((Dog)o).getHealth();
}
}
list
demo.java
package cn.jsj.jcf.p2_1;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class ListDemo {
public static void main(String[] args) {
Dog lele = new Dog("乐乐", 20, "拉布拉多犬", 10);
Dog xixi = new Dog("西西", 30, "藏獒", 5);
Dog qiuqiu = new Dog("球球", 10, "哈士奇", 20);
Dog ouou = new Dog("欧欧", 10, "藏獒", 30);
List dogs = new ArrayList();
dogs.add(lele);
dogs.add(xixi);
dogs.add(qiuqiu);
dogs.add(2, ouou);
System.out.println("宠物商店里共有" + dogs.size() + "条狗狗");
Collections.sort(dogs);
System.out.println("宠物的名称" + "\t" + "宠物的品种" + "\t" + "宠物的健康状况" + "\t"
+ "宠物与主人的亲密度");
for (int i = 0; i < dogs.size(); i++) {
Dog dog = (Dog) dogs.get(i);
System.out.println(dog.getName() + "\t" + dog.getBreed() + "\t"
+ dog.getHealth() + "\t" + dog.getLove());
}
}
}
penguin.java
package cn.jsj.jcf.p2_1;
public class Penguin extends Pet {
private String sex;
public Penguin(String name, int health, String sex, int love) {
super(name, health, love);
setSex(sex);
}
public void swimming(){
System.out.println("啦啦啦,游泳喽……");
setHealth(getHealth()-10);
setLove(getLove()+5);
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public void shout() {
super.shout();
System.out.println("我的性别是" + sex);
}
public void toHospital(){
System.out.println("吃药");
System.out.println("疗养");
// 治疗后,企鹅的健康状况变为70
setHealth(70);
}
}