java如何合并
合并数组
使用 System.arraycopy() 或 Stream.concat() 合并两个数组:
int[] array1 = {1, 2, 3};
int[] array2 = {4, 5, 6};
int[] merged = new int[array1.length + array2.length];
System.arraycopy(array1, 0, merged, 0, array1.length);
System.arraycopy(array2, 0, merged, array1.length, array2.length);
或使用流:
int[] merged = IntStream.concat(Arrays.stream(array1), Arrays.stream(array2)).toArray();
合并集合
通过 addAll() 方法合并 List 或 Set:
List<String> list1 = new ArrayList<>(Arrays.asList("a", "b"));
List<String> list2 = new ArrayList<>(Arrays.asList("c", "d"));
list1.addAll(list2); // 结果: [a, b, c, d]
对于 Set,重复元素会自动去重:
Set<Integer> set1 = new HashSet<>(Set.of(1, 2));
Set<Integer> set2 = new HashSet<>(Set.of(2, 3));
set1.addAll(set2); // 结果: [1, 2, 3]
合并字符串
使用 + 运算符或 StringBuilder 拼接字符串:
String str1 = "Hello";
String str2 = "World";
String result = str1 + " " + str2; // "Hello World"
高效拼接大量字符串时:
StringBuilder builder = new StringBuilder();
builder.append("Java").append(" ").append("合并");
String output = builder.toString(); // "Java 合并"
合并文件
通过 Files.write() 和 Files.readAllBytes() 合并文本文件:
Path file1 = Paths.get("file1.txt");
Path file2 = Paths.get("file2.txt");
Path output = Paths.get("merged.txt");
Files.write(output, Files.readAllBytes(file1), StandardOpenOption.CREATE);
Files.write(output, Files.readAllBytes(file2), StandardOpenOption.APPEND);
合并Map
使用 putAll() 合并两个 Map,重复键会被覆盖:
Map<String, Integer> map1 = new HashMap<>();
map1.put("a", 1);
Map<String, Integer> map2 = new HashMap<>();
map2.put("b", 2);
map1.putAll(map2); // 结果: {a=1, b=2}






