当前位置: 首页 > 知识库问答 >
问题:

在java中将数组块添加到数组列表中

诸葛皓
2023-03-14

我想把一个数组(带有随机整数值)分成大小相等的小块,然后根据数组的值分配元素。例如,如果我有一个大小为9的数组,并且想要将其分成3个块,那么0到3之间的数字被分配到第一个块中,4到6之间的数字被分配到第二个块中,其余的数字被分配到第三个块中。我必须重复单独的块(可以暂时停留)。最后将所有块添加到数组列表中。

int[] originalarray = init[9];
     int number = original.length/numerToDivede;
Arraylist<int[]> bigarray = new Arraylist<>();
                int[] array1= null;
                int[] array2;
                int[] array3;

                for(int i=0;i<originalarrays.length-1;i++){
                    if(originalArrays[i] < numberTodivide){
                        // add to the first array1;
                    }else if (originalArrays[i] < 2*numberTodivide){
                      // add to the second array
                    }else
                   // add to the third array

这是我的方法,但每件事都是硬编码的。我能动态地做吗?感谢帮助!

共有1个答案

汪兴旺
2023-03-14

希望这对你有帮助

List<Integer> bigarray = new ArrayList<>();
bigarray.addAll(Arrays.asList(1,2,3,4,1,2,3,33,3,4,1,2,1));
List<List<Integer>> outputList = new ArrayList<>();

while(!bigarray.isEmpty()){
    List<Integer> tmpList = bigarray.stream()
    .filter(item -> item == bigarray.get(0))
    .collect(Collectors.toList());
    //filter all item has been collect this time
    List<Integer> filter = bigarray.stream().filter(item -> item != bigarray.get(0)).collect(Collectors.toList());
    bigarray.clear();
    bigarray.addAll(filter);

    // add the result in this time
    outputList.add(tmpList);
}

outputList.forEach(list -> list.forEach(item -> System.out.print(item+", ")));
 类似资料:
  • 在有趣的功能中,当我将列表添加到其他列表时,它正在添加空列表,我可以找到原因有人可以帮助我这个程序是关于查找给定数组的不同组合

  • 我想在Sokoban游戏中保存我的玩家角色的步骤。首先我想用字符的实际位置填充一个int x和y的数组,称为“pos”。然后我想将这个数组添加到数组的ArrayList中,称为“moves”。 一个玩家位置的阵列: ArrayList为所有步骤,玩家在关卡: 如果将“int[]”放在ArrayList的尖括号内,则会出错。 如何将阵列位置添加到ArrayList移动?

  • 我有一个类来代表一个玩家的手牌。但是,我(在另一个类中)有一个数组列表,我想在其中表示一堆玩家手。问题是我不知道如何在多手牌的数组列表中将一张牌添加到手牌中。我有一个代表卡牌和一副牌的类,效果很好。我只是试图了解如何将对象添加到数组列表中的对象。谢谢!

  • 很抱歉这太模糊了,但代码太多了。 这是一个五卡梭哈游戏。基本上,我试图将对象添加到另一个数组列表中的数组列表中。 这是我创建玩家数组并将手类中的数组添加到其中的地方,至少我认为这就是正在发生的事情: 稍后,我尝试在循环交易中将牌添加到玩家阵列中的手牌阵列中。由于有五张牌,第一个循环进行了五次。第二个是玩家数组的长度(玩家总数),每次应该添加一张卡。 Deck类中有一个deal方法,由以下方法初始化

  • 问题内容: 想要向现有数组添加或追加元素 现在我想用我发送的新值动态更新系列。 就像我发送3个更新系列 再次,如果我发送4更新系列作为 再次,如果我发送1个更新系列,依此类推 怎么做???? 我在其他函数中每5分钟生成一个整数,并希望发送以更新数组。 问题答案: 数组的长度在Java中是不可变的。这意味着一旦创建数组便无法更改其大小。如果使用2个元素初始化它,则其长度为2。但是,您可以使用其他集合

  • 问题内容: 我正在尝试向从创建的数组中添加一列。在这种情况下,它是一个数组:(行,列)。 我想添加第九列。空或零都无所谓。 问题答案: 我认为您的问题是您希望就地添加该列,但是由于存储的numpy数据的原因,它的作用是创建连接数组的副本 所以你需要保存输出: 替代方式: 我相信这三个函数(以及)之间的唯一区别是未指定when的默认行为: 假设 假设除非输入为1d,否则 如果输入为1d,则假定在添加