java数组面向对象增删改查

import java.util.Arrays;
/**
 对象数组与管理
 使用对象数组实现多个Chicken的管理
动态数组:
1.数组是一种线性数据结构
2.数组不合适和做删除插入,适合查找、添加
 */
public class test2{
    public static void main(String[] args) {
        ChikenManager cm =new ChikenManager(5);
        cm.add(new Chiken(1,"小小",10));
        cm.add(new Chiken(2,"小二",10));
        cm.add(new Chiken(3,"小三",1));
        cm.add(new Chiken(4,"小四",6));
        cm.add(new Chiken(5,"小五",10));

        cm.add(new Chiken(6,"小留",10));
        System.out.println("数组的长度是:"+cm.length());
        System.out.println("---------printAll-------------");
        cm.printAll();
        System.out.println("-----------find-----------");
        Chiken c=cm.find(5);
        c.print();
        System.out.println("-----------update-----------");
        cm.update(new Chiken(1,"下蛋公鸡",20));
        cm.printAll();
        System.out.println("-----------delete-----------");
        cm.delete(2);
        cm.printAll();
    }
}
class ChikenManager{
    private Chiken[] cs=null;
    private int count=0;//记录当前数组元素个数
    public ChikenManager(int size){
        if(size>0){
            cs=new Chiken[size];
        }else{
            cs=new Chiken[5];
        }
    }
    public int length(){
        return cs.length;
    }
    //添加
    public void add(Chiken c){
        if(count>=cs.length){
            //算法1:扩充原来数组一半 cs.length*3/2+1
            //算法2:扩充原来数组一赔 cs.length*2
            int newLen=cs.length*2;
            cs=Arrays.copyOf(cs, newLen);

        }
            cs[count] = c;
            count++;
        
    }
    //删除
    public void delete(int id){
        for(int i=0;i<count;i++){
            if(cs[i].getId()==id){
                for(int j=i;j<count-1;j++){
                    cs[j]=cs[j+1];
                }
                cs[count-1]=null;
                count--;
                break;
            }
            
        }
    }
    //更新
    public void update(Chiken c){
        Chiken temp =find(c.getId());
        if(temp!=null){
            temp.setName(c.getName());
            temp.setAge(c.getAge());
        }

    }
    public Chiken find(int id){
        for(int i=0;i<count;i++){
            if(cs[i].getId()==id){
                return cs[i];
            }
        }
        return null;
    }
    public void printAll(){
        for(int i=0;i<count;i++){
            cs[i].print();
        }
    }
}
//小鸡类
class Chiken{
    private int id;
    private String name;
    private int age;
    public Chiken(){}
    public Chiken(int id,String name,int age){
        this.id=id;
        this.name=name;
        this.age=age;
    }
    public void setId(int id){
        this.id=id;
    }
    public int getId(){
       return id;
    }
    public void setName(String name){
        this.name=name;
    }
    public String getName(){
        return name;
    }
    public void setAge(int age){
        this.age=age;
    }
    public int getAge(){
        return age;
    }
    public void print(){
        System.out.println("id="+id+",name="+name+",age="+age);
    }
}

猜你喜欢

转载自blog.csdn.net/weixin_44117272/article/details/89409461