专栏首页FREE SOLOlist集合示例代码

list集合示例代码

import java.util.ArrayList;
import java.util.List;

interface Animal {	// 动物
    public String getName() ;
    public int getAge() ;
}
class Zoo {
    private List<Animal> animals = new ArrayList<Animal>() ;	// 多个动物
    public void add(Animal ani) {	// 增加动物
        this.animals.add(ani) ;	// 增加动物
    }
    public void delete(Animal ani) {
        this.animals.remove(ani) ;	// 需要equals()
    }
    public List<Animal> search(String keyWord) {
        List<Animal> result = new ArrayList<Animal>() ;
        for (int x = 0 ; x < this.animals.size() ; x ++) {
            Animal ani = this.animals.get(x) ;
            if (ani.getName().contains(keyWord)) {	// 满足
                result.add(ani) ;
            }
        }
        return result ;
    }
}
class Dog implements Animal {
    private String name ;
    private int age ;
    public Dog(String name,int age) {
        this.name = name ;
        this.age = age ;
    }
    public String getName() {
        return this.name ;
    }
    public int getAge() {
        return this.age ;
    }
    public boolean equals(Object obj) {
        if (this == obj) {
            return true ;
        }
        if (obj == null) {
            return false ;
        }
        if (!(obj instanceof Dog)) {
            return false ;
        }
        Dog dog = (Dog) obj ;
        if (this.name.equals(dog.name)
                && this.age == dog.age) {
            return true ;
        }
        return false ;
    }
    public String toString() {
        return "〖狗的信息〗名字:" + this.name + ",年龄:" + this.age ;
    }
}
class Tiger implements Animal {
    private String name ;
    private int age ;
    public Tiger(String name,int age) {
        this.name = name ;
        this.age = age ;
    }
    public String getName() {
        return this.name ;
    }
    public int getAge() {
        return this.age ;
    }
    public boolean equals(Object obj) {
        if (this == obj) {
            return true ;
        }
        if (obj == null) {
            return false ;
        }
        if (!(obj instanceof Tiger)) {
            return false ;
        }
        Tiger t = (Tiger) obj ;
        if (this.name.equals(t.name)
                && this.age == t.age) {
            return true ;
        }
        return false ;
    }
    public String toString() {
        return "〖老虎的信息〗名字:" + this.name + ",年龄:" + this.age ;
    }
}
public class Demo01 {
    public static void main(String args[]) {
        Zoo zoo = new Zoo();    // 动物园
        zoo.add(new Dog("花狗", 1));
        zoo.add(new Dog("黄狗", 1));
        zoo.add(new Dog("黑狗", 1));
        zoo.add(new Dog("斑点狗", 1));
        zoo.add(new Tiger("斑点虎", 2));
        zoo.add(new Tiger("黑虎", 2));
        zoo.add(new Tiger("花虎", 2));
        zoo.delete(new Dog("斑点狗", 1));    // 删除
        List<Animal> result = zoo.search("斑点");
        for (int x = 0; x < result.size(); x++) {
            System.out.println(result.get(x));
        }
    }
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Java抽象類實例

    葆宁
  • Java类库之日期操作类(核心)

    在Java之中,如果要想表示出日期型,则使用java.util.Date类完成。 如果要想通过这个类取得当前的日期时间,那么只需要直接实例化Date类对象即可...

    葆宁
  • Java面试题整理

    Java面向对象 19. super()与this()的区别? This():当前类的对象,super父类对象。 Super():在子类访问父类的成员和行...

    葆宁
  • 设计之禅——组合模式

    昨天我写了一篇迭代器模式的文章,其中用到餐厅菜单的例子,如果你细想过,肯定是能发现一些问题的,比如昨天的菜单中只有一级菜单(不清楚的同学可以先看看我上一篇文章,...

    夜勿语
  • AutoMapper使用手册(一)

    蘑菇先生
  • 定义多场景的表单

    以上表单中,add方法就是添加文章的业务逻辑,edit方法是编辑文章咯,可是两个业务要验证的用户端输入参数都包含了title和content,所以要通过scen...

    botkenni
  • java之hibernate之crud

    Vincent-yuan
  • Android 中Activity 之间传递参数

    如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

    砸漏
  • Java并发之Executor(返回结果处理)运行多个任务并处理第一个结果运行多个任务并处理所有结果

    并发编程常见的问题,就是当采用多个并发任务来解决一个问题,我们往往只对第一个返回的结果有兴趣。比如,对一个数组有多种排序算法,可以并发启动所有算法,但是对于一个...

    desperate633
  • Android十八章:设计模式SOLID五大原则

    单一职责原则就是造成一个类改变的原因一个只有一个。再比如手机的电池是一个类,电池只为手机提供电源的职责。

    ppjun

扫码关注云+社区

领取腾讯云代金券