Java 将列表拆分为4个偶数独立的列表

Java 将列表拆分为4个偶数独立的列表,java,list,arraylist,Java,List,Arraylist,目前我正在做一个游戏。我想把所有的球员平均分成4个队 teams = (List<List<Player>>)Lists.partition((List)players, Lists.partition((List)players, 4).size()); 输出列表: [[“jdjdb”, “jsid”],[“hsisi”],[“hri”], [“idt”]] 它只是将剩菜添加到任何列表中。您可以尝试以下方法: final int size_split = 4; Li

目前我正在做一个游戏。我想把所有的球员平均分成4个队

teams = (List<List<Player>>)Lists.partition((List)players, Lists.partition((List)players, 4).size());
输出列表:

[[“jdjdb”, “jsid”],[“hsisi”],[“hri”], [“idt”]]

它只是将剩菜添加到任何列表中。

您可以尝试以下方法:

final int size_split = 4;
List<List<String>> result = new ArrayList<>();
for(int i = 0; i < size_split; i++)
    result.add(new ArrayList<>());

int count = 0;
for(String s : list){
    result.get(count % size_split).add(s);
    count++;
}
System.out.println(result);
一个运行示例:

public class Main {
    public static void main(String[] arg) {
        List<String> list = new ArrayList<>();
        list.add("jdjdb");
        list.add("jsid");
        list.add("hsisi");
        list.add("hri");
        list.add("idt");

        final int size_split = 4;
        List<List<String>> result = new ArrayList<>();
        for(int i = 0; i < size_split; i++)
            result.add(new ArrayList<>());

        int count = 0;
        for(String i : list){
            result.get(count % size_split).add(i);
            count++;
        }
        System.out.println(result);
    }
}

下面是一个简单易读的代码,希望它是您想要的。让我知道

List<String> list=new ArrayList<String>();
list.add("a");
list.add("b");
list.add("c");
list.add("d");
list.add("e");
list.add("f");
list.add("g");
list.add("h");
list.add("i");
int size=list.size();
int sublistSize=size/4;
List<List<String>> teams=new ArrayList<List<String>>();
int lIndx=0;
int rIndx=0;
rIndx=sublistSize;
for(int i=0;i<4;i++){
  List<String> subList=list.subList(lIndx,rIndx);
  lIndx=rIndx;
  if(i==2){
    rIndx=size;
  }else{
    rIndx+=sublistSize;
  }
  teams.add(subList);
}
List List=new ArrayList();
列表。添加(“a”);
列表。添加(“b”);
列表。添加(“c”);
列表。添加(“d”);
列表。添加(“e”);
列表。添加(“f”);
列表。添加(“g”);
列表。添加(“h”);
列表。添加(“i”);
int size=list.size();
int sublistSize=大小/4;
列表团队=新建ArrayList();
int-lIndx=0;
int-rIndx=0;
rIndx=子区域大小;
对于(int i=0;i
int count = 0;
for(String s : list){
    result.get(count % size_split).add(s);
    count++;
}
public class Main {
    public static void main(String[] arg) {
        List<String> list = new ArrayList<>();
        list.add("jdjdb");
        list.add("jsid");
        list.add("hsisi");
        list.add("hri");
        list.add("idt");

        final int size_split = 4;
        List<List<String>> result = new ArrayList<>();
        for(int i = 0; i < size_split; i++)
            result.add(new ArrayList<>());

        int count = 0;
        for(String i : list){
            result.get(count % size_split).add(i);
            count++;
        }
        System.out.println(result);
    }
}
[[jdjdb, idt], [jsid], [hsisi], [hri]]
List<String> list=new ArrayList<String>();
list.add("a");
list.add("b");
list.add("c");
list.add("d");
list.add("e");
list.add("f");
list.add("g");
list.add("h");
list.add("i");
int size=list.size();
int sublistSize=size/4;
List<List<String>> teams=new ArrayList<List<String>>();
int lIndx=0;
int rIndx=0;
rIndx=sublistSize;
for(int i=0;i<4;i++){
  List<String> subList=list.subList(lIndx,rIndx);
  lIndx=rIndx;
  if(i==2){
    rIndx=size;
  }else{
    rIndx+=sublistSize;
  }
  teams.add(subList);
}