设计一个类ArrayBox,比数组灵活,不限制长度,提供增删改方法---新手勿喷!

//设计一个类 替代数组可以做的事情 能添加 删除 获取元素

public class ArrayBox {
//属性 最先的一个容量数组
private static final int chang = 10;
private int [] array ;
private int size = 0; //记录数组中有效的元素个数

public ArrayBox() {
	array = new int [chang];
}
public ArrayBox(int mini) {
	array = new int [mini];
}


public int[] getArray() {
	return array;
}

public void setArray(int[] array) {
	this.array = array;
}

public int getSize() {
	return size;
}

public void setSize(int size) {
	this.size = size;
}

//设计一个方法 确保数组的容量
//需要提供一个条件  需要的最小容量 mini
private void queBaoRongLiang(int mini) {
	if(mini-array.length>0) {
		//mini-array.length>0证明需要的容量比最先的容量大 存不下 需要扩容
		this.kuoRong(mini);
	}
}

//设计一个方法  用来扩容
//需要提供一个条件  需要提供需求的最小容量 mini
private void kuoRong(int mini) {
	//获取旧数组的长度
	int oldArray = array.length;
	//以旧长度扩容 
	int newchang = oldArray*2;
	//若按照扩容后长度还不够 就直接利用mini
	if(newchang - mini <0) {
		newchang = mini;    //最后获取到一个合理的长度 newchang
	}
	array = this.copyof(array, newchang);//把新数组的赋给最先的数组
}

//设计一个方法  创建一个新数组 将旧数组的元素全部移入新数组
//需要新数组的长度  newArray 需要提供旧数组 int [] array   需要返回新数组 
private int[] copyof(int [] oldArray , int newchang) {
	//创建一个新数组
	int [] newArray = new int [newchang];
	//将旧数组元素全部移入新数组
	for (int i = 0; i < array.length; i++) {
		newArray[i] = array[i];
	}
	return newArray;
}


//设计添加的方法 add
public boolean add(int cunru) {
	//确保属性数组的内部容量
	this.queBaoRongLiang(size+1); //如果这行代码可以执行 就证明array数组有空间; 
	//就可以把cunru 放进数组中 有效元素多记录一个
	array [size++] = cunru; 
	return true;
}

//------------------------------------------------------------------------------------

//设计一个方法 检测index范围是否合法
//需要提供一个index 
private void fanWeiJianCe(int index) {
	if(index<0 || index>=size) {
		//参考数组的异常  自己定义一个类来说明这个问题
		throw new ArrayBoxYiChang("index"+index+"size"+size);
	}
}

//设计获取元素的方法
//需要提供获取元素的位置 需要返回结果
public int get(int index) {
	//检测index范围是否合法 >=0  <size
	this.fanWeiJianCe(index); //如果这行代码可以执行 证明index合法
	return array[index];
}

//------------------------------------------------------------------------------
//删除元素
//需要提供元素位置 返回删除那个元素
public int remove(int index) {
//检测index范围
this.fanWeiJianCe(index); //如果这行代码可以执行 证明index合法
//将index位置的旧值保存起来
int oldValue = array[index];
//将元素从后往前覆盖
for (int i = index; i < size-1; i++) {
array[i] =array[i+1];
}
array[size-1] = 0;
//将旧值返回给用户
return oldValue;
}

//****************************************************************************
//测试
public static void main(String[] args) {
//测试增加
ArrayBox a = new ArrayBox();
for (int i = 0; i < 21; i++) {
a.add(i*11);
}
System.out.println(“有效元素个数”+a.size);
System.out.println(“真实数组长度”+a.array.length);

	//测试获取
	int value = a.get(10);
	System.out.println(value);
	
	//测试删除
	for (int i = 0; i < a.size; i++) {
		int j = a.get(i);
		System.out.println(j);
	}
	
	int remove = a.remove(2);
	System.out.println(remove);
	System.out.println(a.size);
	for (int i = 0; i < a.size; i++) {
		int j = a.get(i);
		System.out.println(j);
	}
	
}
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
对于使用 Element Plus 的 Vue 表格,你可以通过以下步骤来实现增删操作: 1. 安装 Element Plus:首,确保已经安装了 Vue 和 Element Plus。你可以通过 npm 或者 yarn 来安装它们: ```shell npm install element-plus --save ``` 或者 ```shell yarn add element-plus ``` 2. 引入 Element Plus:在你的 Vue 项目的入口文件中(通常是 `main.js`),引入 Element Plus 的样式和组件: ```javascript import { createApp } from 'vue'; import ElementPlus from 'element-plus'; import 'element-plus/lib/theme-chalk/index.css'; const app = createApp(App); app.use(ElementPlus); app.mount('#app'); ``` 3. 创建表格:在你的组件中,使用 Element Plus 的 `el-table` 组件来创建表格: ```vue <template> <el-table :data="tableData"> <!-- 表格列 --> </el-table> </template> ``` 4. 定义表格数据:在你的组件的 `data` 中定义表格数据,例如: ```javascript export default { data() { return { tableData: [ { name: 'John Doe', age: 25, gender: 'Male' }, { name: 'Jane Smith', age: 30, gender: 'Female' }, // 其他数据行... ] }; } } ``` 5. 实现增删操作:根据你的需求,在组件中添加相应的方法来实现增删操作。例如,你可以添加一个按钮来触发添加新行的操作: ```vue <template> <el-table :data="tableData"> <!-- 表格列 --> </el-table> <el-button @click="addRow">添加行</el-button> </template> <script> export default { data() { // 表格数据... }, methods: { addRow() { // 创建一行新数据并添加到表格数据 this.tableData.push({ name: '', age: 0, gender: '' }); }, // 其他操作方法... } } </script> ``` 似地,你可以添加其他按钮和方法来实现删除行、编辑行等操作。 这只是一个简单的示例,你可以根据你的具体需求来自定义表格和操作。Element Plus 提供了丰富的组件和 API 来帮助你构建功能强大的表格。***

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只不秃头的小菜鸟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值