`

java 数组合并(一维,二维横向,二维纵向)

阅读更多
// 一维数组合并
	private static String[] getMergeArray(String[] al, String[] bl) {
		String[] a = al;
		String[] b = bl;
		String[] c = new String[a.length + b.length];
		System.arraycopy(a, 0, c, 0, a.length);
		System.arraycopy(b, 0, c, a.length, b.length);
		return c;
	}
	
	// 二维数组纵向合并
	private static String[][] unite(String[][] content1, String[][] content2) {
		String[][] newArrey = new String[][] {};
		List<String[]> list = new ArrayList<String[]>();
		list.addAll(Arrays.<String[]> asList(content1));
		list.addAll(Arrays.<String[]> asList(content2));
		return list.toArray(newArrey);
	}

	// 二维数组横向合并
	public static String[][] getMergeArray(String[][] al, String[][] bl) {
		if(al == null || al.length == 0) return bl;
		if(bl == null || bl.length == 0) return al;
		String[][] newArrey = null;
		// 根据数组的长度,判断要补全哪个数组
		if (al.length > bl.length) {
			newArrey = new String[al.length][];
			// 补全较短的数组
			String[][] temps = new String[al.length - bl.length][bl[0].length];
			for (int i = 0; i < temps.length; i++) {
				for (int j = 0; j < temps[0].length; j++)
					temps[i][j] = "";
			}
			String[][] btemp = unite(bl, temps);
			// 合并
			for (int k = 0; k < al.length; k++) {
				newArrey[k] = getMergeArray(al[k], btemp[k]);
			}
		} else {
			newArrey = new String[bl.length][];
			String[][] temps = new String[bl.length - al.length][al[0].length];
			for (int i = 0; i < temps.length; i++) {
				for (int j = 0; j < temps[0].length; j++)
					temps[i][j] = "";
			}
			String[][] atemp = unite(al, temps);
			for (int k = 0; k < bl.length; k++) {
				newArrey[k] = getMergeArray(atemp[k], bl[k]);
			}
		}
		return newArrey;
	}
分享到:
评论

相关推荐

    Python中多个数组行合并及列合并的方法总结

    采用numpy快速将两个矩阵或数组合并成一个数组: import numpy as np 数组 a = [[1,2,3],[4,5,6]] b = [[1,1,1],[2,2,2]] 1、数组纵向合并 1) c = np.vstack((a,b)) c = array([[1, 2, 3], [4, 5, 6], [1, 1, ...

    DataGridView单元格合并和二维表头.zip

    DataGridView单元格合并和二维表头,固定合计行,带行号表格。DataGridView实现添加合计行并始终显示在底部 DataGridView中没有合适的方法来冻结底部的合计行,这里用一种比较简单的方式实现。 1. 数据部分的...

    Smartscan Xpress Barcode—用于生成和识别一维、二维条码

    Smartscan Xpress Barcode能够方便你创建应用程序来读取一维(线性的)和二维条码。它为你提供了许多预处理功能使你在条码分析之前对图像进行操作和整理,包括镜像(mirroring)、交换(flipping), 变焦(zooming)...

    任意纵向变掺杂横向功率器件二维耐压模型 (2010年)

    基于二维泊松方程的解,建立了漂移区全耗尽和不全耗尽情况下任意纵向掺杂的横向功率器件二维电场 分布模型,进而导出了纵向和横向击穿电压表达式,得到了一个新的 RESURF判据。借助此模型,研究了漂移区纵 向杂质分布...

    线源直流电法有限元二维正演模拟

    基于Matlab编程,采用第一类边界条件,给出了线源直流电法二维有限元数值解法,通过与均匀半空间理论值比较,验证了计算结果的正确性;再建立高阻、低阻地电模型,并采用单边供电和双边供电分别对其响应进行比较和分析,...

    论文研究-一种双向压缩的二维特征抽取算法及其应用.pdf

    针对二维主分量分析(2DPCA)在最优投影轴上的投影是一个向量,其抽取出的图像特征是一个矩阵,特征数据量大,不便于直接分类的弱点,提出了一种特征抽取新方法。首先用2DPCA作一次横向压缩,对抽取出的特征矩阵再作...

    c++ 二维字符矩阵,字符串查找

    这个项目一个区块链合作项目方发过来的水平测试题目,题目要求是:输入去掉空格,转换为大写字母,横向、纵向、对角线,以及相反方向去匹配,是否匹配到字符串。 题目内容: 按照如下示意图,在二维矩阵中查找字符串...

    Android 吸入动画效果实现分解

    Android 吸入动画效果详解 . 这里,我要介绍的是如何在Android上面实现一个类似的效果。先看看我实现的效果图。 上图演示了动画的某几帧,其中从1 – 4,演示了图片从...顶点数据verts是以行优先的数组(二维数组以一维

    随机激励三维路面空间域模型建模与仿真 (2012年)

    对比国标给定幂函数形式的路面功率谱密度,采用最小二乘非线性参数估计法对路面功率谱密度有理函数表达式中的参数进行估计,将一维路面功率谱扩展成二维功率谱,推导了三维路面建模的二维傅里叶逆变换法。...

    通过具有光子横向动量的γ*γ*→W + W-子过程产生W + W-对

    显示并讨论了几种一维和二维微分分布。 将当前结果与共线性分解方法中的先前计算结果进行比较。 除了一些可观察到的结果(例如例如 W +和W-对的横向动量。 我们发现大型光子虚拟化对横截面的贡献很大。 我们显示了...

    图像的二维混合迭代加密一识别 (2003年)

    作者曾给出图像的一维迭代加密一识别的讨论和椭圆曲线的应用;利用已有的结果,给出图像的二维混合迭代加密一识别和椭圆曲线的应用。对于一类重要的图像,使用特殊的算法得到横向特征图,纵向特征图,采用本文给出的...

    零温时二维绝缘铁磁体的磁振子寿命 (2006年)

    在二维正方绝缘铁磁系统基础上建立了一个磁振子一声子相互作用模型。利用格林函数方法研究了磁振子一声子相互作用下的二维绝缘铁磁体的磁振子衰减,计算了布里渊区的主要对称点线上的一Im三∑*(k)。发现在布里渊区...

    简易五子棋(控制台版)(项目源码下载)-Python项目开发案例集锦03

    它通过一个二维数组(15x15的棋盘)来表示游戏状态,并提供了一些函数来操作棋盘和判断胜利条件。 项目中的create_board()函数用于创建一个空的棋盘,它返回一个由0填充的15x15的二维数组。 play()函数用于在指定...

    基于高斯曲率模态差的T梁结构二维损伤识别研究 (2012年)

    为将曲率模态的损伤识别方法推广到二维结构,提出了基于高斯曲率模态的损伤识别方法,综合考虑二维结构的加速度振型曲面在纵向和横向上的弯曲程度,通过计算结构损伤前后加速度振型的高斯曲率差来判断结构损伤的位置...

    高精度三维地震勘探关键技术研究及应用

    岩性反演解释技术是将连续观测的地震资料与具有高纵向分辨率的测井资料进行关联实行优势互补,提高三维地震资料的纵、横向分辨率和对地下地质情况的勘探研究程度高。二个采区的的应用效果表明,上述技术极大提高了煤炭...

    零温下二维绝缘铁磁体的磁振子软化 (2005年)

    在二维正方绝缘铁磁系统基础上建立了一个磁振子-声子相互作用模型。利用格林函数方法研究了磁振子-声子相互作用下的二维绝缘铁磁体的磁振子谱,计算了布里渊区的主要对称点线上的磁振子色散曲线。发现在布里渊区边界...

    零温下在△线二维绝缘铁磁体的磁振子软化 (2005年)

    在二维正方绝缘铁磁系统基础上建立了一个磁振子-声子相互作用模型。利用格林函数方法研究了磁振子-声子相互作用下的二维绝缘铁磁体的磁振子谱,计算了布里渊区的△线上的磁振子色散曲线。发现在布里渊区边界区域磁...

    跟老齐学Python之使用Python操作数据库(1)

    在关系数据库中,数据库表是一系列二维数组的集合,用来代表和储存数据对象之间的关系。它由纵向的列和横向的行组成,例如一个有关作者信息的名为 authors 的表中,每个列包含的是所有作者的某个特定类型的信息,...

    基于LCI的地面磁共振Smooth反演方法

    根据Tikhonov正则化反演理论以及横向约束理论LCI,利用Smooth反演法,通过二维阵列式线圈的工作模式,将所有核磁信号从一侧产生横向和纵向的LCI平滑过渡,实现了核磁共振拟二维反演。相比传统的反演法,得到对中、深层更...

Global site tag (gtag.js) - Google Analytics