gpt4 book ai didi

java - 分割数组列表中的元素

转载 作者:行者123 更新时间:2023-12-02 04:06:33 26 4
gpt4 key购买 nike

我正在尝试拆分数组列表中的元素。例如我有一个 arrayList 就像

List <String> elements = new ArrayList<String>();

elements //["frnec","fdct","logic","mastro","seloger"]元素的大小应该是动态的......

 List<List<String>> splittedlists = null;

我想分割元素,例如["frnec"],["fdct",logic"],["mastro","seloger"]。

splittedlists //[["frnec"] ,["fdct",logic"],["mastro", "seloger"]].

但是新的splittedlists的大小不应超过4,基于此我必须切割元素

我有很多代码来分割列表。但我不知道如何设置'splittedlists'的最大大小。但它会通过设置吐出元素的目标大小来分割

  public static <T extends Object> List<List<T>> split(List<T> list, int targetSize) {
List<List<T>> lists = new ArrayList<List<T>>();
for (int i = 0; i < list.size(); i += targetSize) {
lists.add(list.subList(i, Math.min(i + targetSize, list.size())));
}
return lists;
}

我的要求是通过设置splittedlists的最大数组大小(此处为4)来拆分列表中的元素

如果元素是 //["frnec","fdct"] 我想拆分为 ["frnec"], ["fdct"]如果元素是 //[0, 1, 2, 3, 4, 8, 6] 我必须在不超过新数组大小的情况下进行拆分 4 就像

 [[0,1],[2,3],[4,8],[6]]

最佳答案

这是我的答案..我猜你能理解我在做什么..

    List<String> list = new ArrayList<>();
for (int i = 1; i < 11; i++) {
list.add(i+"");
}
List<List<String>> lists = new ArrayList<>();
int x = list.size()/4;
int y = list.size()%4;
int j = 0;
for (int i = 0; i < list.size(); i=j) {
j = i+x;
if(y>0){
j++;
y--;
}
lists.add(list.subList(i, j));
}
System.out.println(list);
System.out.println(lists);

关于java - 分割数组列表中的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34236338/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com