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

试图获取ArrayList的索引值并将它们添加到另一个ArrayList

申嘉慕
2023-03-14

也许有人能帮我。我不明白我的代码有什么问题。

我想循环遍历ArrayList,获取每个元素的索引值(索引号本身)并将这些索引值添加到另一个数组中。不要问我为什么=))

这是我的代码:

List<Integer> a = new ArrayList<>();
a.add(2);
a.add(5);
a.add(1);

List<Integer> b = new ArrayList<>();

for (int i = 0; i < a.size(); i++) {

    b.add(a.indexOf(i));

}

System.out.println("array b: " + b);

输出:数组b:[-1,2,0]

但我的预期输出是:[0,1,2]

也许这是一个非常简单的问题,但我真的很困惑,不明白为什么输出如此奇怪。

共有1个答案

乜栋
2023-03-14

问题是 indexOf 给你元素的索引。在循环中,i 具有以下值 - 0、1、2

    < li >在第一次迭代中,没有0,所以有< code>-1 < li >在第二次迭代中,第二个索引为1,因此您有< code>2 < li >在第三次迭代中,索引0上有2,因此有< code>0
 类似资料:
  • 问题内容: 我有以下Java代码,其中我试图将ArrayList复制到另一个ArrayList。 我希望“列表”数组采用以下格式: 但是从上面的代码中,“ list”数组输出看起来像这样: 我想您可能已经注意到了差异。我无法达到预期格式的结果。请建议我任何解决方案!提前致谢!! 问题答案: 然后,你需要的: 请注意,已更改为。在Java命名约定中,变量以小写字母开头。类以大写字母开头。

  • 问题内容: 我在Java中有这样的双重经历。 现在,我想做的是通过循环在列表的零索引中添加5个值,在索引1中添加5个值。 第零个索引将具有值 索引1将具有值 并且所有这些值都按以下顺序存储在双精度数组中 我该怎么做? 问题答案: @Ahamed有一点,但是如果您坚持使用列表,那么可以有三个这样的arraylist: 编辑: 如果您在下面的列表中有这些值: 你想做的就是把它们结合起来,对吗?您可以尝

  • 问题内容: 简单版本: 如果我这样做: 我得到的输出。但是我想。使用隐式numpy循环而不是自己遍历它,是否可能以某种方式实现? 我实际上需要做什么的版本: 我有一个结构化的数组,其中包含一个索引,一个值和一些布尔值。我想根据布尔值对那些索引处的值求和。显然,这可以通过一个简单的循环来完成,但是似乎可以通过聪明的numpy索引来实现(如上所述)。 例如,我有一个包含5个元素的数组,要从数组中填充值

  • 我是java新手,我正试图编写我的第一个“更大”的程序,包含几个类。我在类“CompetitionProgram”中创建了一个ArrayList并将其声明为private。 我的程序中需要这两个类(Event&ListOfEvents),这是需求之一。事件--它只是表示事件本身,比如事件名称和尝试次数(它是一个体育事件)。和ListOfEvents--它表示列表本身,并包含用于添加事件、删除事件和

  • 我有个问题。 我如何在它们的div中遍历每个h2,获取它们的文本值,并按照它们出现在另一侧的顺序将其添加到另一组div中? 我可以使用eq或其他东西,然后遍历每一个,但这不是理想的,因为在任何给定时间divs的数量都可能是多的或少的,我只需要回去调整js来调整divs的数量。 在本例中,我还没有做过任何js,只是因为我不确定如何处理这个问题。 感谢任何帮助。 小提琴示例 谢谢

  • 问题内容: 我认为这是一个非常简单的问题,但我不知道如何正确执行此操作。 我有一个空的arraylist: 我有一些要添加的对象,每个对象必须位于某个位置。但是,有必要可以按每种可能的顺序添加它们。当我尝试此操作时,它不起作用,我得到了: 我曾尝试是填充用,然后做以上。它有效,但是我认为这是一个可怕的解决方案。还有另一种方法吗? 问题答案: 您可以这样做: 将对象2添加到位置2后,它将把对象3移动