Java请求合并代码,合并排序java代码实现

怎么用java把多个list合并成一个?

下面的例子讲了如何合并两个java list, 用简单的方法,而不用自己去造轮子,循环list 去做,用如下建档方法:

成都创新互联公司-专业网站定制、快速模板网站建设、高性价比双阳网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式双阳网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖双阳地区。费用合理售后完善,十载实体公司更值得信赖。

import java.util.ArrayList;import java.util.List;public class JoinList {  

public static void main(String[] args) {      

ListString listA = new ArrayListString();        listA.add("A");

ListString listB = new ArrayListString();        listB.add("B");

ListString listFinal = new ArrayListString

();        listFinal.addAll(listA);        listFinal.addAll(listB);

//same result        //ListString listFinal = new ArrayListString

(listA);        //listFinal.addAll(listB);

System.out.println("listA : " + listA);        System.out.println("listB : " + listB);        System.out.println("listFinal : " + listFinal);

}}

你可以看到结果如下:

listA : [A]listB : [B]listFinal : [A, B]

其实最关键的就是调用 list 的 addall 方法,apache 的 listUtil  , 里面有个 union 方法,其实也是用的 addall 方法。

如何使用java合并多个文件

使用java编程语言,对文件进行操作,合并多个文件,代码如下:

import static java.lang.System.out;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.IOException;

import java.nio.ByteBuffer;

import java.nio.channels.FileChannel;

import java.util.Arrays;

public class test {

public static final int BUFSIZE = 1024 * 8;

public static void mergeFiles(String outFile, String[] files) {

FileChannel outChannel = null;

out.println("Merge " + Arrays.toString(files) + " into " + outFile);

try {

outChannel = new FileOutputStream(outFile).getChannel();

for(String f : files){

FileChannel fc = new FileInputStream(f).getChannel(); 

ByteBuffer bb = ByteBuffer.allocate(BUFSIZE);

while(fc.read(bb) != -1){

bb.flip();

outChannel.write(bb);

bb.clear();

}

fc.close();

}

out.println("Merged!! ");

} catch (IOException ioe) {

ioe.printStackTrace();

} finally {

try {if (outChannel != null) {outChannel.close();}} catch (IOException ignore) {}

}

}

//下面代码是将D盘的1.txt 2.txt 3.txt文件合并成out.txt文件。

public static void main(String[] args) {

mergeFiles("D:/output.txt", new String[]{"D:/1.txt", "D:/2.txt", "D:/3.txt"});

}

}

java中如何将两个文件合并到另一个文件

java可以使用FileChannel快速高效地将多个文件合并到一起,以下是详细代码:

import static java.lang.System.out;  

import java.io.FileInputStream;  

import java.io.FileOutputStream;  

import java.io.IOException;  

import java.nio.ByteBuffer;  

import java.nio.channels.FileChannel;  

import java.util.Arrays;  

public class test {  

public static final int BUFSIZE = 1024 * 8;  

public static void mergeFiles(String outFile, String[] files) {  

FileChannel outChannel = null;  

out.println("Merge " + Arrays.toString(files) + " into " + outFile);  

try {  

outChannel = new FileOutputStream(outFile).getChannel();  

for(String f : files){  

FileChannel fc = new FileInputStream(f).getChannel();   

ByteBuffer bb = ByteBuffer.allocate(BUFSIZE);  

while(fc.read(bb) != -1){  

bb.flip();  

outChannel.write(bb);  

bb.clear();  

}  

fc.close();  

}  

out.println("Merged!! ");  

} catch (IOException ioe) {  

ioe.printStackTrace();  

} finally {  

try {if (outChannel != null) {outChannel.close();}} catch (IOException ignore) {}  

}  

}  

public static void main(String[] args) {  

mergeFiles("D:/output.txt", new String[]{"D:/in_1.txt", "D:/in_2.txt", "D:/in_3.txt"});  

}  

}

求java合并json数据的代码

我想了一下,但是得有一个前提,就是第一个json数组的size必须和第二个json数组的size相同,并且一一对应,否则将造成数组溢出。

如果是基于上面这个前提,那么实现的方法就简单了。

操作json对象,其实标准的方法是将实体类转换成json后再操作,我这里的话为了便捷直接使用谷歌的Gson来创建JsonObject了,其他的json依赖还有阿里巴巴的FastJson等等,看你平时用什么习惯。

引入Gson依赖:

dependency

groupIdcom.google.code.gson/groupId

artifactIdgson/artifactId

version2.8.0/version

/dependency

实现代码:

public class Main {

public static void main(String[] args) {

JsonArray jsonArray1 = new JsonArray();

JsonObject json11 = new JsonObject();

json11.addProperty("数据1", "0000");

json11.addProperty("数据2", "1111");

JsonObject json12 = new JsonObject();

json12.addProperty("数据1", "0000");

json12.addProperty("数据2", "1111");

JsonObject json13 = new JsonObject();

json13.addProperty("数据1", "0000");

json13.addProperty("数据2", "1111");

jsonArray1.add(json11);

jsonArray1.add(json12);

jsonArray1.add(json13);

System.out.println(jsonArray1);

JsonArray jsonArray2 = new JsonArray();

JsonObject json21 = new JsonObject();

json21.addProperty("数据3", "6666");

JsonObject json22 = new JsonObject();

json22.addProperty("数据3", "6666");

JsonObject json23 = new JsonObject();

json23.addProperty("数据3", "6666");

jsonArray2.add(json21);

jsonArray2.add(json22);

jsonArray2.add(json23);

System.out.println(jsonArray2);

//遍历json数组,按位取出对象

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

JsonObject json1 = jsonArray1.get(i).getAsJsonObject();

JsonObject json3 = jsonArray2.get(i).getAsJsonObject();

//遍历数据3内容,通过Entry获取数据3的key和value,并合并到数据1中

for (Map.EntryString, JsonElement item : json3.entrySet()) {

json1.addProperty(item.getKey(), item.getValue().getAsString());

}

}

System.out.println(jsonArray1);

}

}

整体思路为:遍历两个json数组,按位进行合并操作。合并时,遍历数据3的jsonObject,获取其key和value,并将其合并到数据1中即可。

运行结果:


标题名称:Java请求合并代码,合并排序java代码实现
网站网址:http://scyanting.com/article/dsidpee.html