java语言转php,java代码如何转php代码?

java代码转php代码的方法:1、将一个数组类型或对象类型的List与数组组合,并返回List;2、使用二维数组参数方法返回组合的二维数组类型,并使用了递归;3、将一个数组类型或二维数组类型与数组组合,并返回二维数组。

c214dc791bcbde5b203c2c29bb9e4cfa.png

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;

}

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值