展开
拓展 关闭
订阅号推广码
GitHub
视频
公告栏 关闭

使用数组模拟集合

  • 编写方法
public class MyArrayList {
private int[] n = new int[10]; //动态数组
private int size=0; // 长度
public int size(){
return this.size;
}
//添加一个元素
public void add(int element){
n[size]=element;
size++;
}
//在指定位置插入一个元素
public void add(int index,int element){
// 将当前位置后的元素依次往后移动
for(int i=size; i>index; i--){
n[i]=n[i-1];
}
// 指定下标插入值
n[index] = element;
// 指针往后移动一位
size++;
}
//取出指定下标的元素
public int get(int index){
return n[index];
}
//移除指定位置的元素
public int remove(int index){
for(int i=index; i<size; i++){
n[i]=n[i+1];
}
// 指针往前移动一位
size--;
return size;
}
// 遍历数组
public void display(){
for (int i = 0; i < size ; i++) {
System.out.print(n[i]+",");
}
}
}
  • 测试
public class Test {
public static void main(String[] args) {
MyArrayList mlist = new MyArrayList();
mlist.add(10); // 添加一个元素到集合的末尾
mlist.add(20);
mlist.add(30);
mlist.add(2, 36); // 添加一个元素到指定的位置
mlist.display();// 遍历
System.out.println();
System.out.println(mlist.get(1)); // 取出指定下标的元素
mlist.remove(0); // 移除指定位置的元素
mlist.display();// 遍历
}
}
posted @   DogLeftover  阅读(8)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
历史上的今天:
2022-09-29 马踏棋盘算法
2022-09-29 弗洛伊德算法
2022-09-29 迪杰斯特拉算法
点击右上角即可分享
微信分享提示