導航:首頁 > 編程語言 > java代碼整合

java代碼整合

發布時間:2024-08-19 18:59:55

A. 將兩個數組 排列組合到一個數組集合 求java 代碼

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Test {

private String[] arr1;
private String[] arr2;

public Test(){
//數組長度可以隨意改,但必須保證兩個數組長度一樣
arr1 = new String[3];
arr2 = new String[3];
initArray();
}

private void initArray(){
Scanner scanner = new Scanner(System.in);
for(int i=0;i<arr1.length;i++){
arr1[i] = scanner.next();
}
for(int i=0;i<arr2.length;i++){
arr2[i] = scanner.next();
}
}
/**
* 獲取組合後的數組表單
* @return
*/
private List<String[]> getcombineList(){
List<String[]> list = new ArrayList<String[]>();
combineArray(list, arr1, arr2);
combineArray(list, arr2, arr1);
return list;
}
/**
* 遍歷數組str1,並將其復制到新的數組,再將str2中索引值與str1中索引值
* 相同的元素放入新的數組,然後將新的數組放入list中
* @param list
* @param str1
* @param str2
*/
private void combineArray(List<String[]> list,String[] str1, String[] str2){
for(int i=0; i<str1.length; i++){
String[] str = new String[str1.length];
for(int j=0; j<str2.length; j++){
str[j] = str2[j];
if(i == j)
str[j] = str1[j];
}
System.out.println(getArrayMessage(str));
list.add(str);
}
}

/**
* 將數組每一個元素組合成字元串
* @param str 字元串數組
* @return 組合字元串
*/
private String getArrayMessage(String[] str){
StringBuffer buffer = new StringBuffer();
for(int i=0; i<str.length; i++){
if(i == str.length-1)
buffer.append(str[i]);
else
buffer.append(str[i]).append(",");
}
return buffer.toString();
}

public static void main(String[] argv){
Test test = new Test();
test.getcombineList();
}
}

B. 求java合並json數據的代碼

我想了一下,但是得有一個前提,就是第一個json數組的size必須和第二個json數組的size相同,並且一一對應,否則將造成數組溢出。

如果是基於上面這個前提,那麼實現的方法就簡單了。

操作json對象,其實標準的方法是將實體類轉換成json後再操作,我這里的話為了便捷直接使用谷歌的Gson來創建JsonObject了,其他的json依賴還有阿里巴巴的FastJson等等,看你平時用什麼習慣。

引入Gson依賴:

<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.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.Entry<String, JsonElement> item : json3.entrySet()) {
json1.addProperty(item.getKey(), item.getValue().getAsString());
}
}
System.out.println(jsonArray1);
}
}

整體思路為:遍歷兩個json數組,按位進行合並操作。合並時,遍歷數據3的jsonObject,獲取其key和value,並將其合並到數據1中即可。

運行結果:

閱讀全文

與java代碼整合相關的資料

熱點內容
python數字字元串轉數字 瀏覽:657
c程序員可以轉互聯網嗎 瀏覽:490
深圳交醫保用什麼app 瀏覽:461
pdf合並成一張 瀏覽:670
ie9文件夾怎麼查看ftp 瀏覽:62
唯品會python解密 瀏覽:852
安卓高拍儀有什麼用 瀏覽:241
同步盤用什麼app好 瀏覽:188
伺服器上下載是什麼意思 瀏覽:169
s6怎麼接電話加密 瀏覽:152
電腦的命令指令符打不開怎麼辦 瀏覽:535
可編程邏輯器件cpld開發板 瀏覽:888
加裝文件夾圖片 瀏覽:425
27歲程序員offer 瀏覽:619
中國建築史梁思成pdf 瀏覽:198
單片機雙核與單核區別 瀏覽:850
xss攻擊需要編譯的符號 瀏覽:140
南京單片機定址 瀏覽:897
自製西門子編程電纜 瀏覽:807
伺服器還叫什麼名 瀏覽:712