Maison  >  Article  >  développement back-end  >  Comment convertir du code Java en code php ?

Comment convertir du code Java en code php ?

coldplay.xixi
coldplay.xixioriginal
2020-07-11 13:18:134221parcourir

Comment convertir du code Java en code php : 1. Combinez une liste de type tableau ou de type objet avec un tableau et renvoyez la liste ; 2. Utilisez la méthode de paramètre de tableau bidimensionnel pour renvoyer les deux combinés ; -type de tableau dimensionnel, et la récursivité est utilisée ; 3. Combinez un type de tableau ou un type de tableau à deux dimensions avec un tableau et renvoyez un tableau à deux dimensions.

Comment convertir du code Java en code php ?

Comment convertir du code java en code php :

Méthode 1 :

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));
}
}

Méthode auxiliaire pour la première méthode : combinez une liste de type tableau ou de type objet avec un tableau, et renvoyez 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;
}

Méthode deux : utilisez le mode bidimensionnel paramètres du tableau La méthode renvoie le type de tableau bidimensionnel combiné et utilise la récursion

@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);
}
}

Méthode auxiliaire pour la deuxième méthode : combiner un type de tableau ou un type de tableau à deux dimensions avec un tableau, et renvoie un tableau bidimensionnel

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;
}
}

Recommandations d'apprentissage associées : Programmation PHP de l'entrée à la maîtrise

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn