溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何實(shí)現(xiàn)java代碼轉(zhuǎn)php代碼

發(fā)布時(shí)間:2020-07-16 13:57:40 來源:億速云 閱讀:417 作者:Leah 欄目:編程語言

這篇文章運(yùn)用簡單易懂的例子給大家介紹如何實(shí)現(xiàn)java代碼轉(zhuǎn)php代碼,代碼非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

java代碼轉(zhuǎn)php代碼的方法:1、將一個(gè)數(shù)組類型或?qū)ο箢愋偷腖ist與數(shù)組組合,并返回List;2、使用二維數(shù)組參數(shù)方法返回組合的二維數(shù)組類型,并使用了遞歸;3、將一個(gè)數(shù)組類型或二維數(shù)組類型與數(shù)組組合,并返回二維數(shù)組。

java代碼轉(zhuǎn)php代碼的方法:

方法一:

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class ArrayAssemble {
@SuppressWarnings("unchecked")
public static void main(String[] args) {
String[] arrOfInt = { "紅", "橙", "黃","黑" };
@SuppressWarnings("unused")
String[] arrOfChar1 = { "L", "XL" };
@SuppressWarnings("unused")
String[] arrOfChar2 = { "麻", "晴綸","看" };
String[] arrOfChar3 = { "奎", "康" };
String[] arrOfStr = { "lmy", "lyb", "mz", "yx" };
System.out.println("以下是組合后的數(shù)組");
//Object[][] objectsArrays = assembleArraysToPlanerArray(new Object[][] {arrOfInt, arrOfChar1, arrOfChar2, arrOfChar3,arrOfStr });
Object[][] objectsArrays = assembleArraysToPlanerArray(new Object[][] { arrOfChar1,arrOfChar2, arrOfChar3 });
//Object[][] objectsArrays = assembleArraysToPlanerArray(new Object[][] { arrOfChar1,arrOfChar2 });
int i = 0;
for (Object[] objArrays : objectsArrays) {
i++;
System.out.println(i + "=" + Arrays.toString(objArrays));
}
}

方法一的輔助方法:將一個(gè)數(shù)組類型或?qū)ο箢愋偷腖ist與數(shù)組組合,并返回List

@SuppressWarnings("unchecked")
public static List assembleArrayToList(List aList, Object[] array) {
List arrList = new ArrayList();
// 遍歷aList,將array與aList進(jìn)行組合
for (int i = 0; i < aList.size(); i++) {
Object obj = aList.get(i);
// 檢查aList的元素是否是數(shù)組類型的,如果不是,則直接產(chǎn)生組合列表
if (obj instanceof Object[]) {
Object[] listArr = (Object[]) obj;
// 對數(shù)組類型的aList元素與array進(jìn)行組合
for (int k = 0; k < array.length; k++) {
Object[] newListArr = new Object[listArr.length + 1];
for (int j = 0; j < listArr.length; j++) {
newListArr[j] = listArr[j];
}
newListArr[listArr.length] = array[k];
arrList.add(newListArr);
}
} else {
// 對非數(shù)組類型的aList元素與array進(jìn)行組合
for (int j = 0; j < array.length; j++) {
Object[] arrObj = { aList.get(i), array[j] };
arrList.add(arrObj);
}
}
}
return arrList;
}

方法二:使用二維數(shù)組參數(shù)方法返回組合的二維數(shù)組類型,并使用了遞歸

@SuppressWarnings("unchecked")
public static Object[][] assembleArraysToPlanerArray(Object[][] objectArrays) {
if (objectArrays.length == 2) {
Object[] assembledArray = objectArrays[0];
Object[] array = objectArrays[1];
return assembleArrayToArray(assembledArray, array);
} else if (objectArrays.length <= 1) {
return objectArrays;
} else {
Object[] objArray = objectArrays[objectArrays.length - 1];
objectArrays = Arrays.copyOf(objectArrays, objectArrays.length - 1);
return assembleArrayToArray(assembleArraysToPlanerArray(objectArrays), objArray);
}
}

方法二的輔助方法:將一個(gè)數(shù)組類型或二維數(shù)組類型與數(shù)組組合,并返回二維數(shù)組

public static Object[][] assembleArrayToArray(Object[] assembledArray,Object[] array) {
int lenAssArray = assembledArray.length;
int lenArray = array.length;
Object[][] objArrays = new Object[lenAssArray * lenArray][];
for (int i = 0; i < lenAssArray; i++) {
Object obj = assembledArray[i];
if (obj instanceof Object[]) {
Object[] objArr = (Object[]) obj;
int lenObjArr = objArr.length;
for (int k = 0; k < lenArray; k++) {
// 復(fù)制objArr數(shù)組到newListArr數(shù)組,并將其長度加一
Object[] newListArr = Arrays.copyOf(objArr, lenObjArr + 1);
// 將array數(shù)組的第k+1元素賦值給newListArr數(shù)組最后的元素,并將newListArr賦值給objArrays數(shù)組的第k+1個(gè)元素
newListArr[lenObjArr] = array[k];
objArrays[lenArray * i + k] = newListArr;
}
} else {
for (int j = 0; j < lenArray; j++) {
Object[] newObjArray = { obj, array[j] };
objArrays[lenArray * i + j] = newObjArray;
}
}
}
return objArrays;
}
}


關(guān)于如何實(shí)現(xiàn)java代碼轉(zhuǎn)php代碼就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI