用ArrayList模拟数据库

**

//person属性

**

public class Person {

	int pId;
	String pName;
	int age;
	public Person(int pId, String pName, int age) {
		super();
		this.pId = pId;
		this.pName = pName;
		this.age = age;
	}
	public Person() {
		super();
		// TODO Auto-generated constructor stub
	}
	@Override
	public String toString() {
		return "Person [pId=" + pId + ", pName=" + pName + ", age=" + age + "]";
	}
	public int getpId() {
		return pId;
	}
	public void setpId(int pId) {
		this.pId = pId;
	}
	public String getpName() {
		return pName;
	}
	public void setpName(String pName) {
		this.pName = pName;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}

**

//ArrayList写的DataBase

**

package com.pro.pr;

import java.util.ArrayList;

import javax.swing.text.StyledEditorKit.ForegroundAction;

public class DataBase {

	
	ArrayList<Person> list =new ArrayList<Person>();//< >里面可以定义List类型
	
	public void init() {
		list.add(null);//不写的话后面输出会报出界(*)

		list.add(0, new Person(1,"zs",12));
		list.add(1, new Person(2,"ls",18));
		list.add(2, new Person(3,"ww",32));
	}
	
	public void add(int id,String name,int age) {
		for (int i = 0; i <=list.size(); i++) {			
			if(list.get(i)==null) {
				list.add(i, new Person(id,name,age));
				break;
			}
		}
	}
	
	public void output() {
		for (Person person : list) {
			if(person==null) {
				break;
			}else {
				System.out.println(person);//写list.toString(),会并排
			}
		}
				
			
		}
	
	
	public void updata(int newId,String newName,int newAge) {
		for (int i = 0; i < list.size(); i++) {
			if(newId==list.get(i).getpId()) {
				list.set(i, new Person(newId,newName,newAge));
				break;
			}
		}
	}
	
	public void delete(int id) {
		int n=0;
		for (int i = 0; i < list.size(); i++) {
			if(list.get(i).getpId()==id) {
				n=i;
				break;
			}
		}
		list.remove(n);//ArrayLIst的remove方法可以直接删掉对应的数
	}
}

//(*)ArrayList.add();
原码:public boolean add(E e) {
ensureCapacityInternal(size + 1); // Increments modCount!!
elementData[size++] = e;
return true;
}
其中:ensureCapacityInternal 是动态调整容量大小的方法
当我调用add方法时直接在ArrayList最后面插入一个元素,也就说ArrayList集合其实是一个动态可变的数组。

再是NumDow;NumService;Test;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值