主要代码:
对象实体:
package datastrucates.arrays.object;
public class UserModel {
private int id;
private String userName;
private int age;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "UserModel [id=" + id + ", userName=" + userName + ", age=" + age + "]";
}
public UserModel(int tempId,String tempUserName,int tempAge) {
id=tempId;
age=tempAge;
userName=tempUserName;
}
}
算法代码:
package datastrucates.arrays.object;
/**
* 数组存放对象
* @author wuxin
*
*/
public class OperationObject {
private UserModel[] user = null;
private int currentIndex;
public OperationObject(int length) {
user = new UserModel[length];
}
private int insert(UserModel model) {
int index = 0;
for (index = 0; index < currentIndex; index++) {
if ((user[index]).getId() > model.getId()) {
break;
}
}
// 将大于索引的数据向后移一位
for (int i = currentIndex; i > index; i--) {
user[i] = user[i - 1];
}
// 将空出来的位置填充
user[index] = model;
currentIndex++;
return index;
}
/**
* 在数组中查找数据并返回索引
*
* @param data
* @return
*/
public int searchData(int id) {
int index = -1;
for (int i = 0; i < user.length; i++) {
if (user[i].getId() == id) {
index = i;
break;
}
}
return index;
}
/**
* 删除某个数字
*
* @param data
* @return
*/
public int remove(int id) {
int index = searchData(id);
for (int i = index; i < currentIndex; i++) {
user[i] = user[i + 1];
}
return index;
}
/**
* 查找某个数字
* @param data
* @return
*/
public int selectOne(int id) {
int index=searchData(id);
return index;
}
public void printDatas() {
System.out.println("+++++++++++++++++++++++");
for(UserModel data:user) {
System.out.println(data);
}
}
public static void main(String[] args) {
OperationObject arrays = new OperationObject(10);
arrays.insert(new UserModel(1,"zhangsan",29));
arrays.insert(new UserModel(3,"zhangsan",29));
arrays.insert(new UserModel(4,"zhangsan",29));
arrays.insert(new UserModel(2,"zhangsan",29));
arrays.printDatas();
arrays.remove(4);
arrays.printDatas();
int data = arrays.selectOne(2);
System.out.println("returnIndex--->" + data);
}
}
运行结果
+++++++++++++++++++++++
UserModel [id=1, userName=zhangsan, age=29]
UserModel [id=2, userName=zhangsan, age=29]
UserModel [id=3, userName=zhangsan, age=29]
UserModel [id=4, userName=zhangsan, age=29]
null
null
null
null
null
null
+++++++++++++++++++++++
UserModel [id=1, userName=zhangsan, age=29]
UserModel [id=2, userName=zhangsan, age=29]
UserModel [id=3, userName=zhangsan, age=29]
null
null
null
null
null
null
null
returnIndex--->1