数组复制,手写

手写数组复制

作为新手还是要写一些基本的方法实现的

此复制功能为Arrays.copy功能复制数组

public class CopyOf {
   
    public static void main(String[] args) {
   
        int[] arrays1 = {
   1, 2, 3, 0, 0};
        int[] arrays2 = {
   2, 2, 2, 3};
        //获取到第一个数组的长度
        int len1 = arrays1.length;
        //初始化count
        int count = 0;
        //循环数组一
        for (int i = 0; i < arrays1.length; i++) {
   
            //判断如果有元素不0就累加
            if (arrays1[i] != 0) {
   
                count++;
            }
        }
        //数组一的长度减去数组一不为0 元素的个数(rest为数组一中元素为0的个数)
        int rest = len1 - count;
        //数组二的长度
        int len2 = arrays2.length;
        //判断数组一中的为0 元素的长度是否小于数组二
        if (len2 > rest) {
   
            //数组一剩余空间不够添加数组二创建新的数组
            //新数组的长度为数组一中的非空数组+数组二的长度
            int[] newArray = new int[count + len2];
            //遍历数组一中的非空元素
            for (int i = 0; i < count; i++) {
   
                //把数组一中的非空元素赋值到新数组
                newArray[i] = arrays1[i];
            }
            //新数组赋值给数组一
            arrays1 = newArray;
        }
        //循环数组二,数组一从count下表开始把数组二的元素赋值给数组一
        for (int i : arrays2) {
   
            arrays1[count] = i;
            count++;
        }
        //遍历出数组一
        System.out.println(Arrays.toString(arrays1));
    }
}
全部评论

相关推荐

04-02 10:09
门头沟学院 Java
用微笑面对困难:这里面问题还是很多的,我也不清楚为啥大家会感觉没啥问题。首先就是全栈开发实习9个月的内容都没有java实习生的内容多,1整个技术栈没看出太核心和难点的内容,感觉好像被拉过去打杂了,而且全栈基本上很容易被毙。里面能问的bug是在太多了比如L:继承 BaseMapper 可直接使用内置方法’。请问你的 BaseMapper 是如何扫描实体类注解如果瞬时产生 100 个上传任务,MySQL 的索引设计是否会有瓶颈?你做过分库分表或者索引优化吗?全栈的内容可以针对动态难点去搞,技能特长写在下面吧,你写了这么多技能,项目和实习体现了多少?你可以在项目里多做文章然后把这个放下去,从大致来看实习不算太水,有含金量你也要写上内容针对哨兵里面的节点变化能问出一万个问题,这个很容易就爆了。
提前批简历挂麻了怎么办
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务