Java对象数组代码案例

来源:互联网 发布:唐朝军事实力 知乎 编辑:程序博客网 时间:2024/06/10 06:34
import java.util.Arrays;class test5{    public static void main(String[]args){        HeroManager h1=new HeroManager();        h1.add(new Hero(1,"1","nan"));        h1.add(new Hero(2,"2","nan"));        h1.add(new Hero(3,"3","nan"));        h1.add(new Hero(4,"4","nan"));        h1.delete(2);        h1.list();    }}class HeroManager{    private Hero[]hero=new Hero[3];    private int count=0;//表示当前的下标    //实现动态数组    public void add(Hero h){        //表示当前已经存满,要进行扩充        if(count>=hero.length){            //扩充的算法 2倍 1/2倍            int newLen=hero.length*3/2+1;            hero=Arrays.copyOf(hero,newLen);        }        hero[count]=h;        count++;    }    public Hero find(int id){        for(int i=0;i<count;i++){            if(hero[i].getId()==id){                return hero[i];            }        }        return null;    }    public void delete(int id){        //a b c d e null null        //a b d e null null null         for(int i=0;i<count;i++){            if(hero[i].getId()==id){                for(int j=i;j<count-1;j++){                    hero[j]=hero[j+1];                }                hero[count-1]=null;                count--;                break;            }        }    }    public void update(Hero hero){        Hero h=find(hero.getId());        if(h!=null){            h.setName(hero.getName());            h.setSex(hero.getSex());        }    }    public void list(){        for(int i=0;i<count;i++){            hero[i].print();        }    }}class Hero{        private String name;        private String sex;        private int id;        public String getName(){            return name;        }        public void setName(String name){            this.name=name;        }        public String getSex(){            return sex;        }        public void setSex(String sex){            this.sex=sex;        }        public int getId(){            return id;        }        public void setId(int id){            this.id=id;        }        public void print(){            System.out.println("name:"+name+",sex"+sex+",id:"+id);        }        public Hero(int id,String name,String sex){            this.id=id;            this.name=name;            this.sex=sex;        }        public Hero(){        }}
0 0