Java 如何筛选和显示列表?

Java 如何筛选和显示列表?,java,Java,我想展示一份按物种分类的动物名单。我做了一个方法过滤器来完成它,但它只是显示列表的第一个宠物 public abstract class Pet { protected String id; protected String name; protected double weight; protected Date date; public Pet(){} public Pet(String ma, String ten, double trong

我想展示一份按物种分类的动物名单。我做了一个方法过滤器来完成它,但它只是显示列表的第一个宠物

public abstract class Pet {
    protected String id;
    protected String name;
    protected double weight;
    protected Date date;
    public Pet(){}
    public Pet(String ma, String ten, double trongLuong, Date ngayNhap) {
        this.id = ma;
        this.name = ten;
        this.weight = trongLuong;
        this.date = ngayNhap;   
    }
    public abstract int Filter(int tmp);
//

//

//

在类管理中,我调用方法过滤器来过滤每个物种

public class PetManament {
    private List<Pet> listPet;

    public PetManament() {
        listPet = new ArrayList<Pet>();
    }


    public void filterByS(int k){
        Iterator<Pet> iter=listPet.iterator();
        while(iter.hasNext()){
            Pet p=iter.next();
            if(p.Filter(0)==k){
                System.out.println(p.toString());
            }
            else if(p.Filter(0)==k){
                return;
            }
            else if(p.Filter(0)==k){
                return;
            }
            else return;
            }
    }

这是因为在
filterByS
中,在
petmanagement
类中,如果打印
p.Filter(0)=k
,则无论出于何种原因,都会有一些相同的条件,除了返回它们(但永远无法到达),但如果不是这样,则返回
return

谢谢大家!!我在尝试显示或不显示时忘记删除它。^^@taki没问题。祝你好运
public class Monkey extends Pet {
    private String food;
    SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy");
    public Monkey(){}
    public Monkey(String id, String name, double weight, Date date,
            String loaiTAYT) {
        super(id, name, weight, date);
        this.food = loaiTAYT;
    }
    public int Filter(int tmp) {
        return tmp=1;       
    }
public class Snake extends Pet{
    private double length;
    SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy");
    public Snake(){}
    public Snake(String ma, String ten, double trongLuong, Date ngayNhap,
            double chieuDai) {
        super(ma, ten, trongLuong, ngayNhap);
        this.length = chieuDai;
    }
    public int Filter(int tmp) {
        // TODO Auto-generated method stub
        return tmp=3;
    }
public class PetManament {
    private List<Pet> listPet;

    public PetManament() {
        listPet = new ArrayList<Pet>();
    }


    public void filterByS(int k){
        Iterator<Pet> iter=listPet.iterator();
        while(iter.hasNext()){
            Pet p=iter.next();
            if(p.Filter(0)==k){
                System.out.println(p.toString());
            }
            else if(p.Filter(0)==k){
                return;
            }
            else if(p.Filter(0)==k){
                return;
            }
            else return;
            }
    }
public class Program {
    static PetManament list=new PetManament();
    public static void main(String[] args) {
        int stepm=1;
        do{
        System.out.println("");
        System.out.println("(1): Add new");
        System.out.println("(2): Remove");
        System.out.println("(3): edit pet information ");
        System.out.println("(4): Search by id or name ");
        System.out.println("(5): list");
        System.out.println("(6): show species list");
        System.out.println("(7): ");        
        System.out.println("(8): ");    
        Scanner s = new Scanner(System.in);
        int step=s.nextInt();       
        switch(step){
        case 1:
            AddNew();           
            break;
        case 2:
            Remove();
            break;
        case 3:
            break;
        case 4:
            TimKiem();
            break;
        case 5:
            PrintL();
            break;
        case 6:
            filterByS();
            break;
        case 7:
            break;
        case 8:
            stepm=0;

        }
        }while(stepm==1);
    }

    private static void filterByS() {
        Scanner s = new Scanner(System.in);
        int k=0;
        System.out.println("(1): show list monkey"+"\n(2) show list lion"+"\n(3)show list lion"+"\nback to menu");
        k=s.nextInt();
        switch(k){
        case 1:
            list.filterByS(k);
            break;
        case 2:
            list.filterByS(k);
            break;
        case 3:
            list.filterByS(k);
            break;
            default:
                break;
        }

    }