「java两个数组合并去重」java两个集合去重

博主:adminadmin 2022-12-01 03:26:05 51

本篇文章给大家谈谈java两个数组合并去重,以及java两个集合去重对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java中怎么合并两个数组 简单明了的

int[] arr1 = {1,2,3,4,11};

int[] arr2 = {6,7,8,9,10};

int newLength = arr1.length + arr2.length;

int[] arr_target = new int[newLength];

//参数:源数组,源数组起始位置,目标数组,目标数组起始位置,复制长度

System.arraycopy(arr1, 0, arr_target, 0, arr1.length);

System.arraycopy(arr2, 0, arr_target, arr1.length, arr2.length);

//输出合并后数组

for (int i : arr_target) {

System.out.println(i);

}

//排序

Arrays.sort(arr_target);

//输出排序数组

for (int i : arr_target) {

System.out.println(i);

}

//逆序

int[] arr_reverse = new int[newLength];

int flag = 0;

for (int i : arr_target) {

arr_reverse[newLength - flag - 1] = i;

flag++;

}

//输出逆序数组

for (int i : arr_reverse) {

System.out.println(i);

}

数组合并不一定非得遍历

具体的输出题主自己再修改吧

JAVA,用List做,两个数组中数的合并和去除相同元素

package com.ajax.test;

import java.io.File;

import java.io.FileWriter;

import java.util.Arrays;

/**

* 把一个数组的元素复制到另个数组; 去除重复元素不能用SET集合; 每次复制的记录输到一个文件里

*

* @author ajax_2003

* @version 1.0, 2009-7-26

*

*/

public class CopyArrayAndRemoveDuplicate {

private static String FILE_PATH = "d:/abc.txt";

private static File file;

static {

file = new File(FILE_PATH);

}

/**

* 取出冗余数据

*

* @param nums

* 原数组

*/

private int[] removeDuplicate(int[] nums) throws Exception {

int[] tmpArray = new int[nums.length];

int count = 0;

loop: //

for (int i = 0; i nums.length; i++) {

int tmp = nums[i];

for (int j = 0; j count; j++) {

if (tmp == tmpArray[j])

continue loop;

}

tmpArray[count++] = tmp;

log("成功复制了元素" + tmp);// 写日志

}

return copyArray(tmpArray, 0, count);

}

/**

* 拷贝数组

*

* @param srcArray

* 要拷贝的数组

* @param startIndex

* 拷贝起始索引

* @param endIndex

* 拷贝结束索引

* @return 结果数组

*/

private int[] copyArray(int[] srcArray, int startIndex, int endIndex)

throws Exception {

if (endIndex = startIndex)

throw new Exception("Argumens wrong!");

int[] desArray = new int[endIndex - startIndex];

System.arraycopy(srcArray, startIndex, desArray, 0, desArray.length);

return desArray;

}

/**

* 输出操作日志(即: 每次复制的记录输到一个文件里)

*

* @param oprate

*/

private void log(String oprate) {

FileWriter out = null;

try {

out = new FileWriter(file, true);

out.write(oprate + "\r\n");

} catch (Exception e) {

e.printStackTrace();

} finally {

try {

if (out != null)

out.close();

out = null;

} catch (Exception ex) {

ex.printStackTrace();

}

}

}

public static void main(String[] args) {

int[] nums = { 1, 223, 1, 2, 2, 2, 3, 2, 3, 34, 45, 5, 5, 3, 23, 2, 2,

3, 4, 5, 5, 6, 7, 78, 8, 9, 34, 90, 45, 675, 4, };

int[] finalArray;

try {

finalArray = new CopyArrayAndRemoveDuplicate()

.removeDuplicate(nums);

System.out.println(Arrays.toString(finalArray));

} catch (Exception e) {

e.printStackTrace();

}

}

}

有些地方可能考虑的不完全,见谅!

//合并数组并排序

public void arrCopy() {

int[] a = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };

int[] b = { 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000 };

System.arraycopy(a, 2, b, 5, 5);

for(int n : b){

System.out.print(n+",");

}

System.out.println();

}

//去掉重复元素

public static void main(String args[]) {

int[] arr = { 1, 2, 2, 3, 3, 4, 4, 5, 5, 5, 6, 6, 7, 8, 9, 9, 10, 11, 11,

11, 12, 12, 13, 14, 14, 15 }; // 预设数据数组

int index = 1; // 保存最后一个不重复的位置

int last = arr[0];

for (int i = 1; i arr.length; i++) {

if (arr[i] != last) {

arr[index] = arr[i];

last = arr[index];

index++;

}

}

int[] rtn = new int[index];

System.arraycopy(arr, 0, rtn, 0, index);

System.out.println(Arrays.toString(rtn));

}

Java合并两个数组,把相同的数据都去掉(不是去重!不是去重!不是去重!)?

public static void main(String[] args) {

int[] arr = new int[]{1,2,3,4};

int[] arr1 = new int[]{3,4,5,6};

ListInteger list = combineArray(arr, arr1);

int size = list.size();

int[] arrNew = new int[size];

for (int i =0; i size; i ++) {

arrNew[i] = list.get(i);

}

for (int i =0; i size; i ++) {

System.out.println(arrNew[i]);

}

}

public static ListInteger combineArray(int[] arr, int[] arr1) {

ListInteger list = Arrays.stream(arr).boxed().collect(Collectors.toList());

ListInteger list1 = Arrays.stream(arr1).boxed().collect(Collectors.toList());

ListInteger listAll = new ArrayList();

listAll.addAll(list);

listAll.addAll(list1);

list1.retainAll(list);

listAll.removeAll(list1);

return listAll;

}

关于java两个数组合并去重和java两个集合去重的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-12-01,除非注明,否则均为首码项目网原创文章,转载请注明出处。