JAVA 合并数组
(1)合并字节数组
/*** * 合并字节数组 * * @param a * @return */ public static byte[] mergeArray(byte[]... a) { // 合并完之后数组的总长度 int index = 0; int sum = 0; for (int i = 0; i < a.length; i++) { sum = sum + a[i].length; } byte[] result = new byte[sum]; for (int i = 0; i < a.length; i++) { int lengthOne = a[i].length; if (lengthOne == 0) { continue; } // 拷贝数组 System.arraycopy(a[i], 0, result, index, lengthOne); index = index + lengthOne; } return result; } /*** * append a byte. * * @param a * @param b * @return */ public static byte[] appandByte(byte[] a, byte b) { int length = a.length; byte[] resultBytes = new byte[length + 1]; System.arraycopy(a, 0, resultBytes, 0, length); resultBytes[length] = b; return resultBytes; } /*** * Get top <code>frontNum</code> bytes * * @param source * @param frontNum * @return */ public static byte[] getFrontBytes(byte[] source, int frontNum) { byte[] frontBytes = new byte[frontNum]; System.arraycopy(source, 0, frontBytes, 0, frontNum); return frontBytes; } public static byte[] getAfterBytes(byte[] source, int afterNum) { int length = source.length; byte[] afterBytes = new byte[afterNum]; System.arraycopy(source, length - afterNum, afterBytes, 0, afterNum); return afterBytes; } /*** * * @param frontNum * @param source * @return */ public static byte[] filterFrontBytes(int frontNum, byte[] source) { return copyByte(frontNum, source.length - frontNum, source); } public static byte[] copyByte(int start, int length, byte[] source) { byte[] des = new byte[length]; System.arraycopy(source, start, des, 0, length); return des; }
(2)java 合并字符串数组
/*** * merge two array * @param arr1 * @param arr2 * @return */ public static String[] mergeArray2(String[]arr1,String[]arr2){ int length1=arr1.length; int length2=arr2.length; int totalLength=length1+length2; String[]totalArr=new String[totalLength]; for(int i=0;i<length1;i++){ totalArr[i]=arr1[i]; } for(int i=0;i<length2;i++){ totalArr[i+length1]=arr2[i]; } return totalArr; }
测试:
@Test public void test_mergeArray2(){ String[]str2=new String[]{"111","222"}; String []input=new String[]{"c","a","baa","c","c1","c"}; String[] totalArr=SystemHWUtil.mergeArray2(str2, input); System.out.println(SystemHWUtil.formatArr(totalArr, " , ")); System.out.println(totalArr.length); }
运行结果:
111 , 222 , c , a , baa , c , c1 , c
8
(3)合并int数组
/*** * merge two int array to a string * * @param a * @param b * @return */ public static String merge(int[] a, int[] b) { StringBuffer sb = new StringBuffer(); for (int i = 0; i < a.length; i++) { sb.append(a[i]); sb.append(","); } for (int i = 0; i < b.length; i++) { sb.append(b[i]); sb.append(","); } int leng_str = sb.toString().length(); return sb.substring(0, leng_str - 1); }
(4)合并char数组
/*** * 合并字符数组 * * @param a * @return */ public static char[] mergeArray(char[]... a) { // 合并完之后数组的总长度 int index = 0; int sum = 0; for (int i = 0; i < a.length; i++) { sum = sum + a[i].length; } char[] result = new char[sum]; for (int i = 0; i < a.length; i++) { int lengthOne = a[i].length; if (lengthOne == 0) { continue; } // 拷贝数组 System.arraycopy(a[i], 0, result, index, lengthOne); index = index + lengthOne; } return result; }
相关推荐
Java合并数组的两种实现方式 Java合并数组是Java编程中的一种常见操作,例如在处理数组数据时需要将多个数组合并成一个数组。在Java中有多种方式可以实现数组合并,本文将介绍两种常见的实现方式,即使用System....
在Java中,有多种方法可以合并数组。以下是一些常见的方法: 1. **使用System.arraycopy()方法**: 这是Java提供的一种内置方法,用于复制数组的一部分到另一个数组。我们可以先创建一个新的大数组,然后通过`...
Java数组: Java数组排序:冒泡排序、选择排序 、插入排序 、快速排序、希尔排序、堆排序和归并排序 三种Java数组复制方法 ...四种合并Java数组方法 Java数组升降序排序 Java数组查找:二分查找、顺序查找、插值查找法
自定义byte数组,可变长度,轻量高效,解决集合存储简单数据的包装问题,自增缓存减少运算,方便多次调用,非线程同步
在Java编程语言中,有时我们需要将两个或多个字节数组(`byte`数组)合并成一个新的单一数组。这种情况在处理二进制数据、文件读写或者与硬件交互时尤其常见。本文将深入探讨如何在Java中实现两个`byte`数组的合并,...
合并数组并且转为有序去重集合,我看到很多资源博客,百度都弄的很繁琐,所以自己总结描述了一下
Java实现把两个数组合并为一个的方法总结 本文主要介绍了Java实现把两个数组合并为一个的方法,结合实例形式总结分析了java常用的四种数组合并操作技巧。这些方法可以满足不同的需求和场景,帮助开发者更高效地实现...
归并排序是一种分治策略的排序算法,它将数组分为两半,分别对每一半进行排序,然后将两个有序的部分合并。在Java中,归并排序可以使用递归实现: ```java public class MergeSort { public static void sort(int...
6. **数组操作**:包括复制数组、数组排序、查找特定元素、合并和分割数组等高级操作。 7. **数组作为方法参数**:在函数或方法中传递数组,使得函数可以对整个数组进行处理。 8. **异常处理**:访问越界数组元素...
Java数组相关资料,部分题目。有兴趣的同学可以了解一下
描述中提到“java实现数组链接相加”,这可能是指将两个或多个数组中的元素相加,并合并成一个新的数组。这个过程可能涉及到遍历数组、计算元素之和以及创建新的结果数组。对于初学者来说,这是一个基础但重要的概念...
在Java编程语言中,一维数组是最基础的数据结构之一,用于存储同类型的数据集合。在这个“java一维数组课程作业”中,我们看到一个名为`IntArrayUtils.java`的文件,它实现了一些基本的操作,如计算数组元素的总和、...
对引用类型数组,使用优化后的合并排序算法。 1.2 Arrays.toString(数组):把数组里的数据,用逗号连接成一个字符串。例如,int[] array = {1, 2, 3}; System.out.println(Arrays.toString(array));输出结果为"[1, ...
该源代码很好地体现了数组与List之间的转换,同时也体现了两个集合的合并操作
数组排序是 Java 编程中的一种常见操作,而在实际应用中,数组元素可能包含数字字符串和字符串两种类型,本文将详细介绍如何将数组分成数字型字符数组和字符串数组,然后各自排序后再进行合并。 数字元素和字符串...
在Java编程环境中,合并多个PDF文件是一项常见的任务,特别是在处理文档集合或自动化工作流程时。以下是一个关于如何在Java中实现这一功能的详细说明。 首先,我们需要一个库来处理PDF文件,Apache PDFBox是一个...
想要合并两个或多个数组,ArrayUtils的`addAll()`方法可以轻松完成。这个方法会返回一个新的数组,包含所有输入数组的元素。 3. **数组填充** 如果你需要快速地用特定值填充数组,`fill()`方法是个好选择。只需要...
Java 数组是编程中最基本的数据结构之一,它允许我们存储同一类型的数据集合。在这个超实用的 Java 数组技巧攻略中,我们将深入探讨如何声明、操作和优化数组的使用,以提高代码的效率和可读性。 1. **声明一个数组...
【Java数组】 Java数组是Java编程中基本的数据结构,用于存储同类型的多个数据项。在Java中,数组提供了一种高效且有序的方式来组织和访问数据。数组的使用包括声明、初始化、分配内存以及访问数组元素。 ### 1. ...