首页 > 其他分享 >使用数组模拟集合

使用数组模拟集合

时间:2023-09-29 15:45:19浏览次数:26  
标签:index int mlist add 数组 集合 public 模拟 size

  • 编写方法
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();// 遍历

    }
}

标签:index,int,mlist,add,数组,集合,public,模拟,size
From: https://www.cnblogs.com/dogleftover/p/17737030.html

相关文章

  • 向有序数组插入数据,数组依然是有序的
    数组降序的情况下插入数据依然是降序第1次推导publicclasstest{publicstaticvoidmain(String[]args){int[]ints={90,80,70};inttmp=85;//与第1个数比较时//[0][1][2][]if(tmp>ints[0]){/......
  • 数组冒泡排序
    第1次推导publicclasstest{publicstaticvoidmain(String[]args){int[]ints={6,5,9,5};inttmp;if(ints[0]>ints[1]){tmp=ints[0];ints[0]=ints[1];ints[1]=tmp;}......
  • 数组插入排序
    第1次推导publicclasstest{publicstaticvoidmain(String[]args){int[]ints={2,5,3,1,8,9};inttmp;//存储临时变量intj;//开始比较第几位的数//第1次//2,5,3,1,8,9j=1;//比较索引1的数......
  • 【yolox训练过程中遇到的问题集合】
    (这里写目录标题)深度学习遇到的一系列bugVScode无法激活conda打开vscode,选择左上角的文件—首选项—设置点击右上角的小图标进入setting.json后,添加一行代码,重启VScode终端即可成功激活conda"terminal.integrated.defaultProfile.windows":"CommandPrompt"1.vscode......
  • 恩尼格玛机模拟动图
    打开恩尼格玛机模拟动图网站,可直接查看对应动图效果,具体操作如下:再次点击Encrypt后Output栏会和上次的不同..其他实际项参考下图,具体各项释义可查Enigma运行原理......
  • 模拟集成电路设计系列博客——2.2.1 折叠Cascode放大器的基本结构
    2.2.1折叠Cascode放大器的基本结构许多现代CMOS集成电路放大器设计仅用于驱动容性负载。由于驱动的是容性负载,放大器并不需要通过一个电压缓冲器来获得较低的输出阻抗。因此相比那些必须要驱动阻性负载的放大器,更可能获得更快的速度和更大的信号摆幅。而这些增长仅仅需要通过在......
  • [LeetCode] 2251. 花期内花的数目 - 二分查找/有序数组
    Problem:2251.花期内花的数目思路看题目应该是一道比较经典的差分,本来准备拿差分数组做的,后来搂了一眼题解,发现用二分的方法更简单解题方法此题有一种很简便的方法,第i个人到达时间为people[i],所以我们不难找到在这个时间之前花期已经开始的花的数量,即v1=start<=people[i]......
  • 集合运算
    01集合运算1集合 A和 B的并集或 特点:由集合 A和 B的所有元素组成的集合. 2集合 A和 B的交集且 特点:由集合 A和 B的公共元素组成的集合. 3集合 A和 B的差集特点:由属于 A,而不属于 B的所有元素组成的集合. 4集合 A的补集∼ A= 特点:由属于全集 E但......
  • Flutter/Dart第03天:Dart可迭代集合
    Dart官网代码实验室:https://dart.dev/codelabs/iterables重要说明:本博客基于Dart官网代码实验室,但并不是简单的对官网文章进行翻译,我会根据个人研发经验,在覆盖官网文章核心内容情况下,加入自己的一些扩展问题和问题演示和总结,包括名称解释、使用场景说明、代码样例覆盖等。可迭代......
  • 集合的概念
    01集合的概念1集合与元素具有确定的,可以区分的若干事物的全体称为集合,其中的事物叫元素.集合的元素不能重复出现,集合中的元素无顺序之分.集合与其元素之间存在属于“”或不属于“”关系.集合 A 中元素的个数为集合的元数,记作| A |.理解集合概念时请注意:(1)集合中的元素是确......