数据结构之对引用数据类型数组CURD(二)
自定义对象,并使用自定义的对象创建对象数组; 实现对引用数据类型数组的增(Cread)删(Delete)查(Read)改(Update)操作 首先创建一个Person类,有姓名、年龄、性别三个属性 package data_structure_object_array_CURD; public class Person { private String name; private int age; private String sex; public Person(){ } public Person(String name,int age,String sex){ this.name=name; this.age=age; this.sex=sex; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } } 创建实现方法类MyArray package data_structure_object_array_CURD; public class MyArray { private Person [] person; private int elems; //获取数据的真实长度 public int getElems() { return elems; } //无参构造 public MyArray(){ person = new Person[50]; elems=0; } //有参构造 public MyArray(int value){ person = new Person[value]; elems=0; } //插入数据 public void insert(Person pers){ person[elems]=pers; elems++; } //遍历 public void display(){ for(int i=0;i System.out.println("姓名:"+person[i].getName()+"年龄:"+person[i].getAge()+"性别:"+person[i].getSex()); } } //查找数据,返回下标 public int find(String name){ int i; for(i=0;i if(person[i].getName().equals(name)){ break; } } if(i==elems){ return -1; }else{ return i; } } //删除数据 public int delete(String name){ //找到下标 int i=find(name); if(i!=-1){ for(int j=i;j person[j]=person[j+1]; } elems--; return 1; }else{ return elems; } } //修改数据 public void change(Person oldpers,Person newpers){ //查找要修改数据的下标 int i =find(oldpers.getName()); if(i!=-1){ person[i]=newpers; } } } 测试类 package data_structure_object_array_CURD; public class TestMyArray { public static void main(String[] args) { MyArray myArray = new MyArray(10); Person p1 = new Person("张三",18,"男"); Person p2 = new Person("李四",19,"男"); Person p3 = new Person("王五",20,"女"); Person p4 = new Person("黄六",21,"男"); Person p5 = new Person("小白","女"); Person p6 = new Person("小黑","男"); myArray.insert(p1); myArray.insert(p2); myArray.insert(p3); myArray.insert(p4); myArray.insert(p5); myArray.display(); System.out.println("------"); System.out.println(myArray.find("李四")); System.out.println("------"); myArray.delete("黄六"); myArray.display(); System.out.println("------"); myArray.change(p1,p6); myArray.display(); } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 用于检查字符串是否在文件中的Ruby脚本?
- ruby-on-rails – 解析电子邮件附件w回形针 – 可能没有临时
- xml – XSLT中的变量增量
- 移植sqlite-3.5.6到s3c2410上
- swift – 使用FileManager复制文件时出错(CFURLCopyResourc
- ruby-on-rails – 为什么Awesome Print不适用于某些Rails集
- postgresql – AWS数据库单列添加了极多的数据
- Cocos2d-x 3.2 自动更新 -- 使用AssetsManager更新游戏资源
- 你应该知道的关于 HotSpot VM 的内容
- 如何手动将iOS模拟器安装到Xcode 4.5?