`

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;
	}
分享到:
评论

相关推荐

    利用二维数组实现井字游戏

    为了表示游戏板的状态,我们可以使用一个3x3的二维字符数组。初始状态下,所有元素都应该为空字符。 ```java char board[][] = { {' ', ' ', ' '}, {' ', ' ', ' '}, {' ', ' ', ' '} }; ``` #### 2. 用户输入与...

    Excel数组变换技巧三则.rar

    然后,使用CONCATENATE或者CONCAT函数将两个数组合并成二维数组。 这些技巧在数据分析、财务计算、项目管理等领域都有广泛应用。掌握这些Excel数组变换技巧,能够极大地提升工作效率,使复杂的数据处理变得简单而...

    zhuanzhi_c语言横向取模转纵向取模_

    4. 使用循环结构,将一维数组的元素按照新的排列顺序填充到二维数组中,完成纵向取模的效果。 在这个过程中,需要注意内存管理,确保在分配和释放内存时避免内存泄漏。同时,正确处理数组边界条件,防止越界访问。 ...

    Java二维数组计算集合总结

    二维数组可以被看作是一组一维数组的集合,每个一维数组代表数组的一行。本文将深入探讨如何使用Java二维数组进行特定计算,如求解十字和、左对角线和以及右对角线和。 首先,我们来看如何计算二维数组的十字和。在...

    JS实现二维数组横纵列转置的方法

    一个二维数组是由多个一维数组组成的数组,可以形象地看作是由行和列构成的表格。例如: ```javascript let arr = [ [1, 2, 3], [4, 5, 6], [7, 8, 9] ]; ``` 在这个例子中,`arr`是一个包含三行三列的二维数组...

    DataGridView单元格合并和二维表头

    本主题将深入探讨如何实现`DataGridView`单元格的合并以及创建二维表头,这两种功能可以极大地增强数据展示的可读性和美观性。 ### DataGridView单元格合并 单元格合并在`DataGridView`中通常是为了解决数据分组或...

    java 后端生成pdf模板合并单元格表格的案例.docx

    - `educationItems`: 一个二维字符串数组,存储每个孩子的教育规划详情。具体列包括: - 学程阶段 - 年数 - 费用支出(元)/年 - 年增长率 - `spacing`: 表格之间的间距 - 异常处理: - `DocumentException`: ...

    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, ...

    横向取模转纵向JLX19296.rar

    1. **数据结构**:定义存储字符字模的数据结构,可能是二维数组或者是一维数组,以适应纵向存储的需求。 2. **读取GB2312字模**:函数用于从原始的横向字模数据中读取并解析GB2312编码的字符。 3. **转换逻辑**:...

    matlab中如何创建数组

    以上就是MATLAB中创建数组的各种方法,包括一维和二维数组,以及等差、等比序列的创建。这些基础知识对于进行数值计算和数据分析至关重要。了解并熟练掌握这些方法,可以更高效地在MATLAB环境中工作。

    数组_matlab数组_

    例如,`a = [1, 2, 3]` 创建了一个一维数组,`b = [1 2 3; 4 5 6]` 创建了一个二维数组(矩阵)。另外,`zeros`、`ones` 和 `rand` 函数分别用于生成全零、全一和随机数数组,例如 `zeros(3,3)` 生成一个3x3的全零...

    php实现数组纵向转横向并过滤重复值的方法分析

    这种方法通过 `each()` 函数遍历数组中的每个元素,逐个添加到新的二维数组 `$b` 中。 上述所有方法的结果都是将原始数组转为期望的格式,同时去除了重复的键值对。 在实际开发中,可能会遇到更复杂的数组结构,...

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

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

    交互式二维图形程序

    棋盘通常用二维数组表示,每个元素代表一个格子的状态(空、X或O)。当用户点击棋盘时,程序会计算出相应的棋盘坐标,更新状态数组,并重新绘制棋盘以显示新放置的棋子。 为了实现游戏逻辑,开发者需要编写一系列...

    Excel培训教程Excel公式与函数应用完整版资料.ppt

    1)一维横向数组:一维横向数组是一个简单的数组,例如 {1,2,3,4}。 2)一维纵向数组:一维纵向数组是一个简单的数组,例如 {1;2;3;4}。 3)二维数组:二维数组是一个复杂的数组,例如 {1,2,3;4,5,6;7,8,9}。 八...

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

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

Global site tag (gtag.js) - Google Analytics