博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数组的 基本操作 【增删查改】
阅读量:6610 次
发布时间:2019-06-24

本文共 1950 字,大约阅读时间需要 6 分钟。

hot3.png

import java.util.Arrays;

public class ArrayDemo05 {

    
    static int[] srcArr;
    
    public static void main(String[] args) {
        srcArr = new int[] {11, 22, 33, 44};
        System.out.println(Arrays.toString(srcArr));
        add(55);
        System.out.println(Arrays.toString(srcArr));
        add(66);
        System.out.println(Arrays.toString(srcArr));
        
        insert(srcArr.length, 100);
        System.out.println(Arrays.toString(srcArr));
        
        remove(6);
        System.out.println(Arrays.toString(srcArr));
        
        System.out.println(get(0));
        
        set(1, 200);
        System.out.println(Arrays.toString(srcArr));
        
    }
    
    /*
     * 动态扩容的原理
     * 往数组中动态添加一个元素
     * 返回值类型: void
     * 参数列表: int num
     * 方法名: add
     */
    /*public static void add(int num) {
        // 利用System.arraycopy方法处理
        int[] descArr = new int[srcArr.length + 1];
        // 复制数组
        System.arraycopy(srcArr, 0, descArr, 0, srcArr.length);
        // 将num赋值到目标数组的最后一个位置
        descArr[descArr.length - 1] = num;
        // 地址传递
        srcArr = descArr;
    }*/
    
    public static void add(int num) {
        int[] descArr = Arrays.copyOf(srcArr, srcArr.length + 1);
        descArr[descArr.length - 1] = num;
        srcArr = descArr;
    }
    
    /*
     * 往数组的任意位置插入一个元素
     * 返回值类型: void
     * 参数列表: int index, int num
     * 方法名: insert
     */
    public static void insert(int index, int num) {
        int[] descArr = new int[srcArr.length + 1];
        System.arraycopy(srcArr, 0, descArr, 0, index);
        descArr[index] = num;
        System.arraycopy(srcArr, index, descArr, index + 1, srcArr.length - index);
        srcArr = descArr;
    }
    
    /*
     * 将数组中的某个索引处的元素删除
     * 返回值类型: void
     * 参数列表: int index
     * 方法名: remove
     */
    public static void remove(int index) {
        int[] descArr = new int[srcArr.length - 1];
        System.arraycopy(srcArr, 0, descArr, 0, index);
        System.arraycopy(srcArr, index + 1, descArr, index, descArr.length - index);
        srcArr = descArr;
    }
    
    
    /*
     * 找出数组中的某个索引处的元素
     * 返回值类型: int
     * 参数列表: int index
     * 方法名: get
     */
    public static int get(int index) {
        return srcArr[index];
    }
    
    /*
     * 找出数组中的某个索引处的元素
     * 返回值类型: void
     * 参数列表: int index , int num
     * 方法名: set
     */
    public static void set(int index, int num) {
        srcArr[index] = num;
    }
}
 

转载于:https://my.oschina.net/u/4117929/blog/3038989

你可能感兴趣的文章
Unlock Login Keyring时忘记密码解决办法
查看>>
android studio快捷键汇总
查看>>
编译且移植FFTW3到Android手机上(1)
查看>>
centos FTP服务vsftpd下的虚拟用户 权限
查看>>
J2EE的文件上传
查看>>
开发者现已能够将应用免费上传至GitHub市场
查看>>
Redistribute
查看>>
win7网络连接不可用的解决
查看>>
MDT 2013 从入门到精通之SQL Sharing Files Created
查看>>
oracle查询当前时间前10分钟到当前时间的数据
查看>>
Linux日常运维管理技巧
查看>>
Linux配置文件
查看>>
如何在windows环境下搭建FTP系统
查看>>
Nginx 开启gzip
查看>>
关于 lnmp 生成SSL失败 setuptools pkg_resources pip wheel failed with error code 2
查看>>
springboot中多种获取properties的方式
查看>>
用户配置文件
查看>>
java.util.concurrent系列之--CyclicBarrier
查看>>
海纳百川下载器使用方法图文详解
查看>>
Hive 表的复制 & 新增字段
查看>>