【数组拷贝+二维数组遍历】

news2024/10/5 18:31:48

文章目录

  • 前言
  • 数组的拷贝
    • 第一种方式:
    • 第二种方式:利用工具类拷贝
  • 二维数组
    • 二维数组的三种定义
    • 打印二维数组的某个元素
    • 遍历二维数组
  • 二维数组的每个元素是一维数组
  • 遍历二维数组(优化)
  • 打印出一个数组(不是数组元素)的方法
  • 总结


前言

数组的拷贝

被拷贝的数组长度最重要
原理:创建一个新数组,把原数组的元素放进新数组里,

第一种方式:

public class Test {
    public static void main(String[] args) {
        int[] arrays1={1,4,3,6,7};
        int[] copy=new int[arrays1.length];//新数组的长度要等于原数组的长度

        for (int i = 0; i < arrays1.length; i++) {
            copy[i]=arrays1[i];
        }
        System.out.println(Arrays.toString(copy));
    }

}

第二种方式:利用工具类拷贝

Arrays.copyOf(被拷贝的数组名,数组长度)

//利用工具类进行拷贝
public class Test {
    public static void main(String[] args) {
        int[] array ={2,4,6,7,8};
        //要传原数组名+原数组名长度再赋值给新数组
        int[] copy=Arrays.copyOf(array,array.length);//工具类需要用一个数组接收
        System.out.println(Arrays.toString(copy));
    }
}

Arrays.copyOfRange(数组名,拷贝数组的起始下标,拷贝数组的结束下标);

    //比如我要拷贝array数组的0下标到4下标
public class Test {
    public static void main(String[] args) {
        int[] array={12,3,7,19,88,77};
        int[] copy=Arrays.copyOfRange(array,0,4);//[0,4)
        System.out.println(Arrays.toString(copy));
    }
}

arraycopy(原数组名,拷贝原数组的哪个下标,新数组名,拷贝到新数组的哪个下标,原数组的长度)
//需要初始化新数组


public class Test {
    public static void main(String[] args) {
        int[] array={2,4,6,8,10};
        int[] copy=new int[array.length];//初始化一个新数组
        System.arraycopy(array,0,copy,0,array.length);//5个参数
        System.out.println(Arrays.toString(copy));//打印
    }
}

二维数组

二维数组的三种定义

public class Test {
    public static void main(String[] args) {
        int[][] array1={{1,2,3},{4,5,6}};
        int[][] array2=new int[][]{{1,2,3},{4,5,6}};
        //不规则二维数组:
        int[][] array3=new int[2][];//行不能省略

    }
}

打印二维数组的某个元素

//二维数组的打印
public class Test {
    public static void main(String[] args) {
        int[][] array = {{1,2,3},{4,5,6}};
        System.out.println(array[1][1]);
    }
}

遍历二维数组

public class Test {
    public static void main(String[] args) {
        int[][] array={{1,2,3},{6,7,8}};
        for (int i = 0; i < 2; i++) {
            for (int j = 0; j < 3; j++) {
                System.out.print(array[i][j] +" ");
            }
            System.out.println();
            
        }
    }
}

二维数组的每个元素是一维数组

在这里插入图片描述

        System.out.println(array.length);//二维数组有几个一维数组
        System.out.println(array[0].length);//第一个一维数组中有几个元素
        System.out.println(array[1].length);//第二个一维数组中有几个元素

遍历二维数组(优化)

public class Test {
    public static void main(String[] args) {
        int[][] array={{1,2,3},{4,5,6}};
        
        for (int i = 0; i < array.length ; i++) {
            for (int j = 0; j < array[i].length; j++) {
                System.out.print(array[i][j]+" ");
            }
            System.out.println();
        }
    }
}

打印出一个数组(不是数组元素)的方法

public class Test {
    public static void main(String[] args) {
        int[][] array={{1,2,3},{4,5,6}};
        System.out.println(Arrays.deepToString(array));
    }
}

在这里插入图片描述

总结

数组的复习就到这里,接下来是类和对象,得抓紧时间复习了,落下好多课程,这两天没有更新是因为去完成了一件有意义的事,心情放松了很多,这个周末和好朋友在一起是开学以来最开心的事了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1120421.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

linux性能分析(三)性能优化导轮

一 别再让Linux性能问题成为你的绊脚石 ① 学习历程 备注&#xff1a; 跟我的学习经历很相像刚工作时遇到的场景跟我现在一样,深深的无力感驱使我继续前行目标: 性能优化成为我的肌肉记忆,写代码的潜意识 ... ② 常见的问题 ③ 性能问题为什么这么难呢 思考&#xff1a…

顺序表ArrayList

作者简介&#xff1a; zoro-1&#xff0c;目前大二&#xff0c;正在学习Java&#xff0c;数据结构等 作者主页&#xff1a; zoro-1的主页 欢迎大家点赞 &#x1f44d; 收藏 ⭐ 加关注哦&#xff01;&#x1f496;&#x1f496; 顺序表 概念Arraylist构造方法相关方法遍历操作 自…

嵌入式实时操作系统的设计与开发(任意大小的内存管理)

任意大小的内存管理是根据用户需要为其分配内存&#xff0c;即用户需要多大内存就通过acoral_malloc2()为之分配多大内存&#xff0c;同时每块分配出去的内存前面都有一个控制块&#xff0c;控制块里记录了该块内存的大小。 同时未分配出去的内存也有一个控制块&#xff0c;寻…

守护进程深度分析

思考 代码中创建的会话&#xff0c;如何关联控制终端&#xff1f; 新会话关联控制终端的方法 会话首进程成功打开终端设备 (设备打开前处于空闲状态) 1、关闭标准输入输出和标准错误输出2、将 stdin 关联到终端设备&#xff1a;STDIN_FILENO > 03、将 stdout 关联到终端设…

FreeRTOS_队列

目录 1. 队列简介 1.1 数据存储 1.2 多任务访问 1.3 出队阻塞 1.4 入队阻塞 1.5 队列操作过程 1.5.1 创建队列 1.5.2 向队列发送第一个消息 1.5.3 向队列发送第二个消息 1.5.4 从队列中读取消息 2. 队列结构体 3. 队列创建 3.1 函数原型 3.1.1 函数 xQueueCreate…

网卡状态检测函数

内核中网卡的开启状态通过__LINK_STATE_START进行标识。网卡开启或关闭时&#xff0c;通过该标识会被置位。 内核专门提供了一个函数用于检测该标志位。函数定义如下&#xff1a; static inline bool netif_running(const struct net_device *dev) {return test_bit(__LINK_S…

YOLOv5源码中的参数超详细解析(1)— 项目目录结构及文件(包括源码+网络结构图)

前言:Hello大家好,我是小哥谈。作为初学者,为了后期能够熟练的使用YOLOv5进行模型的训练,首先必须做的就是了解YOLOv5项目目录结构中各文件以及参数的作用。本篇文章就向大家简单介绍一下每个文件的具体功能及作用,关于YOLOv5详细的代码解读后期会慢慢更新,欢迎大家收藏关…

YOLOv5改进实战 | GSConv + SlimNeck双剑合璧,进一步提升YOLO!

前言 轻量化网络设计是一种针对移动设备等资源受限环境的深度学习模型设计方法。下面是一些常见的轻量化网络设计方法: 网络剪枝:移除神经网络中冗余的连接和参数,以达到模型压缩和加速的目的。分组卷积:将卷积操作分解为若干个较小的卷积操作,并将它们分别作用于输入的不…

三十七、【进阶】SQL的explain

1、explain 2、基础使用 在使用explain关键字时&#xff0c;只需要在所执行语句前加上explain即可 mysql> explain select * from stu where id3; ---------------------------------------------------------------------------------------------------------- | id | s…

【MySQL】8.0新特性、窗口函数和公用表表达式

文章目录 1. 新增特性2. 移除旧特性2.1 优点2.2 缺点 3. 新特性1&#xff1a;窗口函数3.1 使用窗口函数前后对比3.2 窗口函数分类3.3 语法结构3.4 分类讲解3.4.1 序号函数3.4.1.1 ROW_NUMBER()函数3.4.1.2 RANK()函数3.4.1.3 DENSE_RANK()函数 3.4.2 分布函数3.4.2.1 PERCENT_R…

HiveServer2负载均衡

有多个HiveServer2服务时&#xff0c;可以借助Zookeeper服务实现访问HiveServer2的负载均衡&#xff0c;将HiveServer2的压力分担到多个节点上去。本文详细介绍HiveServer2负载均衡的配置及使用方法&#xff0c;请根据EMR集群&#xff08;普通集群和Kerberos集群&#xff09;的…

浏览器从输入url到渲染页面发生了什么?

浏览器从输入url到渲染页面发生了什么&#xff1f; 一、解析URL 首先浏览器做的第一步工作就是要对 URL 进行解析&#xff0c;浏览器会判断这个url的合法性 &#xff0c;以及是否有可用缓存&#xff08;如果有缓存即可以不用进行下一步的DNS域名解析&#xff09;&#xff0c;…

《代码随想录》刷题笔记——字符串篇【java实现】

反转字符串 https://leetcode.cn/problems/reverse-string/description/ 【双指针法&#xff1a;一前一后】 public void reverseString(char[] s) {for (int i 0; i < s.length / 2; i) {char temp s[i];s[i] s[s.length - 1 - i];s[s.length - 1 - i] temp;} }反转…

【软考中级】网络工程师:10.组网技术(理论篇)

交换机基础 交换机分类 > 根据交换方式分      - 存储转发式交换&#xff08;Store and Forward&#xff09;完整接收数据帧&#xff0c;缓存、验证、碎片过滤&#xff0c;然后转发。   优点&#xff1a;可以提供差错校验和非对称交换。   缺点&#xff1a;延迟大。…

【Qt控件之QTabWidget】介绍及使用

描述 QTabWidget类提供了一个带有选项卡的小部件堆栈。 选项卡小部件提供了一个选项卡栏&#xff08;参见QTabBar&#xff09;和一个“页面区域”&#xff0c;用于显示与每个选项卡相关联的页面。默认情况下&#xff0c;选项卡栏显示在页面区域的上方&#xff0c;但可以使用…

2023年拼多多双11百亿补贴新增单件立减玩法介绍

2023年拼多多双11百亿补贴新增单件立减玩法介绍 拼多多启动了11.11大促活动&#xff0c;主题为“天天11.11&#xff0c;天天真低价”。消费者享受多重优惠&#xff0c;包括满减、百亿补贴和单件立减等。百亿补贴新增玩法&#xff0c;有超过20000款品牌商品参与单件立减活动。 …

【内网穿透】五分钟搭建全球领先开源ERP:Odoo,并实现公网访问

目录 前言 1. 下载安装Odoo&#xff1a; 2. 实现公网访问Odoo本地系统&#xff1a; 3. 固定域名访问Odoo本地系统 前言 Odoo是全球流行的开源企业管理套件&#xff0c;是一个一站式全功能ERP及电商平台。 开源性质&#xff1a;Odoo是一个开源的ERP软件&#xff0c;这意味着…

Vue3踩坑指南

vue.config.ts不起作用 关于项目 项目使用的还是vue-cli搭建的&#xff0c;底层还是webpack&#xff0c;没有使用新的vite搭建。 踩坑1&#xff1a;vue.config.ts不起作用 我本着既然是vue3 ts的项目&#xff0c;那么为了规范&#xff0c;项目中所有的js文件都得替换成ts文…

HanLP集成到Springboot及使用自定义词典

前言 HanLP集成到Springboot及使用自定义词典 文章目录 前言简介集成Springboot扩展使用自定义词典路径易错问题 简介 开源工具包&#xff0c;提供词法分析、句法分析、文本分析和情感分析等功能&#xff0c;具有功能完善、性能高效、架构清晰、语料时新、可自定义等特点。 官…

【小白专用 已验证】PHP连接SQLServer数据库

PHP是一门强大的服务器端脚本语言&#xff0c;而SQL Server是Microsoft开发的一款关系型数据库管理系统。为了在PHP中直接操纵SQL Server数据库&#xff0c;需要通过安装SQL Server扩展来实现。这篇文章将详细介绍如何在PHP中使用SQL Server扩展来操作数据库。 首先&#xff0…