您好,登錄后才能下訂單哦!
這篇文章運用簡單易懂的例子給大家介紹如何實現java代碼轉php代碼,代碼非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
java代碼轉php代碼的方法:1、將一個數組類型或對象類型的List與數組組合,并返回List;2、使用二維數組參數方法返回組合的二維數組類型,并使用了遞歸;3、將一個數組類型或二維數組類型與數組組合,并返回二維數組。
java代碼轉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("以下是組合后的數組"); //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)); } }
方法一的輔助方法:將一個數組類型或對象類型的List與數組組合,并返回List
@SuppressWarnings("unchecked") public static List assembleArrayToList(List aList, Object[] array) { List arrList = new ArrayList(); // 遍歷aList,將array與aList進行組合 for (int i = 0; i < aList.size(); i++) { Object obj = aList.get(i); // 檢查aList的元素是否是數組類型的,如果不是,則直接產生組合列表 if (obj instanceof Object[]) { Object[] listArr = (Object[]) obj; // 對數組類型的aList元素與array進行組合 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 { // 對非數組類型的aList元素與array進行組合 for (int j = 0; j < array.length; j++) { Object[] arrObj = { aList.get(i), array[j] }; arrList.add(arrObj); } } } return arrList; }
方法二:使用二維數組參數方法返回組合的二維數組類型,并使用了遞歸
@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); } }
方法二的輔助方法:將一個數組類型或二維數組類型與數組組合,并返回二維數組
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++) { // 復制objArr數組到newListArr數組,并將其長度加一 Object[] newListArr = Arrays.copyOf(objArr, lenObjArr + 1); // 將array數組的第k+1元素賦值給newListArr數組最后的元素,并將newListArr賦值給objArrays數組的第k+1個元素 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; } }
關于如何實現java代碼轉php代碼就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。