首页 新闻 会员 周边 捐助

java 数组拆分为新数组

1
悬赏园豆:100 [已解决问题] 解决于 2021-02-20 12:49

[85, -86, 13, 2, 99, 99, 99, 99, 98, 98, 99, 99, 99, 99, 20, 85, -86, 13, 2, 99, 99, 99, 99, 99, 99, 99,85, 12, 85, -86, 13, 2, 99]

请教,类似这样的数组如何按照85这个数,拆分为多个新数组

如:

[85, -86, 13, 2, 99, 99, 99, 99, 98, 98, 99, 99, 99, 99, 20]

[85, -86, 13, 2, 99, 99, 99, 99, 99, 99, 99]

[85, 12]

[85, -86, 13, 2, 99]

myfc的主页 myfc | 初学一级 | 园豆:18
提问于:2021-02-19 17:02
< >
分享
最佳答案
1

public void ArrFun1() {
int[] arr = {85, -86, 13, 2, 99, 99, 99, 99, 98, 98, 99, 99, 99, 99, 20, 85, -86, 13, 2, 99, 99, 99, 99, 99, 99, 99, 85, 12, 85, -86, 13, 2, 99};
String arrStr = Arrays.toString(arr);
System.out.println(arrStr);
List<List<Integer>> list = new ArrayList<List<Integer>>();
List<Integer> temp = new ArrayList<Integer>();
for (int i = 0; i < arr.length; i++) {
if (arr[i] == 85) {
if (temp.size() > 0) {
list.add(new ArrayList<Integer>(temp));
temp.clear();
}
temp.add(arr[i]);
} else {
temp.add(arr[i]);
}
}
list.add(temp);
System.out.println("===============");
for (List item : list) {
System.out.println(Arrays.toString(item.toArray()));
}
}


收获园豆:100
为乐而来 | 小虾三级 |园豆:1432 | 2021-02-20 11:14

多谢

myfc | 园豆:18 (初学一级) | 2021-02-20 12:48
其他回答(2)
0

头铁遍历!

echo_lovely | 园豆:1546 (小虾三级) | 2021-02-19 17:06
0

将数组转换为字符串,然后根据85进行split截取,就截取成多个数组了,实在想把85也显示,直接处理截取好的数组就行了

赶星而至 | 园豆:222 (菜鸟二级) | 2021-07-15 18:29
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册