Java如何将二维数组转化为一维数组
作者:KFC宅急送专员 发布时间:2022-11-18 12:23:18
标签:Java,二维数组,一维数组
将二维数组转化为一维数组
1. 为了偷懒所以我写了一个随机生成二维数组的函数
/*
* 自动创建随机为100以内的二维数组: int nums[x][y]
* */
public static int[][] CreatedDemArray(int x,int y){
int nums[][]=new int[x][y];
for(int i=0;i<nums.length;i++){
for(int j=0;j<nums[i].length;j++){
nums[i][j]=(int)(Math.random()*100);
}
}
return nums;
}
2. 定义一个5x8的二维函数
public static void main(String[] args) {
createdarray ca=new createdarray();
int nums[][]=CreatedDemArray(5,8);
}
3. 定义一个长度为40 的int 数组,并使用System.arraycopy的方式将二维数组填充到一维数组temp中
public static void main(String[] args) {
createdarray ca=new createdarray();
int nums[][]=CreatedDemArray(5,8);
//定义整数数组
int[] temp=new int[40];
//通过 arraycopy方法来将二维数组填充到一维数组temp中
for(int i=0;i<nums.length;i++){
System.arraycopy(nums[i],0,temp,i*8,8);
}
}
4. 如果填充到一维数组之后我想搞点事,把一维数组进行排序后,回填到二维数组中
public static void main(String[] args) {
createdarray ca=new createdarray();
int nums[][]=CreatedDemArray(5,8);
int[] temp=new int[40];
for(int i=0;i<nums.length;i++){
System.arraycopy(nums[i],0,temp,i*8,8);
}
// 对一维数组进行排序
Arrays.sort(temp);
// 将排序后的数组进行回填
int index=0;
while (index<temp.length){
for(int i=0;i<nums.length;i++){
for(int j=0;j<nums[i].length;j++){
nums[i][j]=temp[index++];
}
}
}
System.out.println("排序后的数组如下");
// 这里因为懒所以我自定义了一个函数 打印二维数组
ShowDemArray(nums);
}
5. 补充一下上面用到的打印二维数组
/*
* 输出二维数组
* 这里我不知道怎么写我还去问了我前任:) 因为我实在不知怎么传这个参
* 如果要做成通用的比如说既能打印整数类型又能打印字符串类型的二维数组需要用的泛型...
* 毕业2年我已经忘了泛型怎么用,下次再补补
*/
public static void ShowDemArray(int[][] nums){
for (int i=0;i<nums.length;i++){
for (int j=0;j<nums[i].length;j++){
System.out.print(nums[i][j]+"\t");
if((j+1)%nums[i].length==0){
System.out.println();
}
}
}
}
今天也是想当测开的一天
一维数组转化为二维数组
由于经常在使用矩阵进行计算时,会首先将一维数组转为二维数组。因此,在这里记录一下,也希望对他人有帮助。
package deal;
/*
* author:合肥工业大学 管院学院 钱洋
*1563178220@qq.com
*/
public class ArryTest {
public static void main(String[] args) {
//创建一个一维数组 0,1,2,3...,10
double [] c= new double[10];
for (int i = 0; i < c.length; i++) {
c[i]=i;
}
double[][] testArr=TwoArry(c);
for (int i = 0; i < testArr.length; i++) {
for (int j = 0; j < testArr[i].length; j++) {
System.out.println(testArr[i][j]);
}
}
}
//一维数组转化为二维数组
public static double[][] TwoArry(double[] onedouble){
double[][] arr=new double[1][onedouble.length];
for (int i = 0; i < onedouble.length; i++) {
arr[0][i]=onedouble[i];
}
return arr;
}
}
程序运行结果。
来源:https://blog.csdn.net/wutrg1502/article/details/120045670
0
投稿
猜你喜欢
- 制作开机Logo 方法一: Drivers/video/logo/logo_linux_clut224.ppm是默认的启
- 概述 wsimport是jdk自带的命令,可以根据wsdl文档生成客户端中间代码,基于生成的代码编写客户端,可以省很多麻烦。先看两张截图:使
- 目录1、两阶段终止模式介绍2、Terminator代码演示3、TerminationRequester4、模拟客户端或者服务端都可能终止服务
- DSA数字签名,供大家参考,具体内容如下一、实验目的在掌握了ElGamal和Schorr数字签名算法的基础上,进一步地学习和掌握DSA签名算
- 本文实例讲述了C#获取U盘序列号的方法。分享给大家供大家参考。具体如下:using System.Management;private Li
- 就是每隔一定的时间显示一张图片,全部图片文件位于:“工作空间\项目名称\bin\动态图\花好月圆\”文件夹下。文件名类似:1001.jpg,
- 1安装eclipse插件步骤,点击help,选择Eclipse Marketplace2.输入Scala,点击go3.选择搜索到的Scala
- Java 静态绑定与动态绑定 最
- java中不定长参数的使用方法不定长参数方法的语法如下:返回值 方法名(参数类型...参数名称)在参数列表中使用“...”形式定义不定长参数
- 导读Lombok:可以让你的POJO代码特别简洁,不止简单在BO/VO/DTO/DO等大量使用,还有设计模式,对象对比等MybatisPlu
- 本文实例讲述了C#图像处理之边缘检测(Smoothed)的方法。分享给大家供大家参考。具体如下://定义smoothed算子边缘检测函数pr
- 泛型(Generic type 或者 generics)是对 Java 语言的类型系统的一种扩展,以支持创建可以按类型进行参数化的类。可以把
- 前言在Android设备内存动不动就上G的情况下,的确没有必要去太在意APP对Android系统内存的消耗,但在实际工作中我做的是教育类的小
- 简介SPI(Service Provider Interface)是JDK内置的一种服务提供发现机制,可以用来启用框架扩展和替换组件,主要用
- 一. 流的常用创建方法1-1 使用Collection下的 stream() 和 parallelStream() 方 * ist<St
- 同时使用and和or的查询UserServiceImpl 类,service实现类import org.springframework.be
- 本文实例为大家分享了Unity3D实现控制摄像机移动的具体代码,供大家参考,具体内容如下最近公司的几个项目开发内容基本相同,很多脚本直接复制
- 图片转换成字节流先要转换的IMage对象,转换之后返回字节流。字节流转换成图片,要转换的字节流,转换得到的Image对象,根据图片路径返回图
- public static String toUtf8String(String s) {
- 大家好,我是梦辛工作室的灵,最近在帮客户修改安卓程序时,有要求到一个按钮要浮动在键盘的上方,下面大概讲一下实现方法:其实很简单,分三步走第一