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

遍历列表,并在列表的下一个位置插入数字加1

丰智
2023-03-14

我正在做一个Java练习,要求我遍历arraylist中的每个数字,并为每个数字插入数字加1到列表的下一个位置。完成后返回结果列表。如果提供的列表中没有元素,直接抛出IllegalArgumentException。

public class ListAddNPlusOne {
    public static ArrayList<Integer> addNPlusOne(ArrayList<Integer> numbers) 
    {
        if(numbers.size() == 0) 
        {
            throw new IllegalArgumentException();
        }
        
        int result;
        
        for (int num : numbers){
            result += num;
        } 

    }
}

这是我到目前为止的代码。我做了抛出异常并遍历列表,我在该列表的找到整数中添加1。但是我不知道如何返回最新的列表,我也不确定我的想法是否正确。感谢您的任何帮助/提示!

共有1个答案

昌山
2023-03-14

你似乎对这些要求感到困惑。我说不出你为什么有结果。首先,我会测试null,我更喜欢isEmpty()而不是。size()==0。接下来,创建新的ArrayList,以存储要返回的值。然后,迭代数字中的值。对于每个num将其添加到新的ArrayList(然后添加1)。最后返回新的ArrayList。喜欢

public static ArrayList<Integer> addNPlusOne(ArrayList<Integer> numbers) {
    if (numbers == null || numbers.isEmpty()) {
        throw new IllegalArgumentException();
    }
    ArrayList<Integer> al = new ArrayList<>();
    for (Integer num : numbers) {
        al.add(num);
        al.add(num + 1);
    }
    return al;
}

如果不使用ListIterator创建新的ArrayList,例如

public static ArrayList<Integer> addNPlusOne(ArrayList<Integer> numbers) {
    if (numbers == null || numbers.isEmpty()) {
        throw new IllegalArgumentException();
    }
    ListIterator<Integer> li = numbers.listIterator();
    while (li.hasNext()) {
        int v = li.next();
        li.add(v + 1);
    }
    return numbers;
}

 类似资料:
  • 问题内容: 我有一个列表-myList-每个元素都是一个字典。我希望遍历此列表,但是每次只在每本词典中使用一个属性-“ age”来表示有趣。我也对保持迭代次数感兴趣。 我做: 但是我想知道是否还有更多的pythonic。有小费吗? 问题答案: 您可以使用生成器仅获取年龄。 而且,是的,不要使用分号。

  • 问题内容: 我有两个列表和数字,我想使用相同的指令遍历它们。像这样: 但这感觉多余。我知道我会写,但是要付出一定的时间。 有没有办法做到这一点而又不浪费时间呢? 问题答案: 这可以通过以下方式完成 : 将打印: 根据文档,请执行以下操作: 创建一个迭代器,该迭代器从第一个可迭代对象返回元素,直到耗尽为止,然后继续进行下一个可迭代对象,直到所有可迭代对象都耗尽为止。 如果列表中有列表, 则可用: 产

  • 输入是一个列表列表。请看下面。文件名是一个列表,包含的名称与列表中的列表数量相同(,,) 每个名称都附加到路径中:-- 程序在遍历列表时遍历包含路径的列表,并打印路径及其文件名。我希望输出是--。然而,我得到了下面的输出。请查看输入后的输出 输入 输出 我希望输出是-- 然而,我得到的结果如下: 我无法理解为什么在遍历列表时不能使用文件名遍历路径列表。我希望这有助于澄清问题。有人能帮忙吗? 我已经

  • 我有一个数组列表,其中包含我想要执行方法“计数”的实例化对象的名称。不过,我不确定是否/如何做到这一点。我有一个循环要扫描数组列表,并添加了伪代码。 我是java新手,不确定这是否可行,但如果有任何帮助,我将不胜感激。谢谢

  • 问题内容: 我有以下对象和地图: 我想将地图转换成另一个地图。结果图的键是输入图的键。结果映射的值是My对象的属性“名称”,按优先级排序。 该 排序 和提取的名字是没有问题的,但我不能把它放到结果地图。我使用旧的Java 7方法进行操作,但是可以使用流API会很好。 有人知道吗?我试过了,但是被卡住了: 问题答案: 本质上,您将流式传输每个条目集并将其收集到新映射中。要计算新地图中的值,请从旧地图

  • 问题内容: 在Python中有两个可迭代的对象,我想成对地讨论它们: 导致: 一种方法是遍历索引: 问题答案: Python 3 当或的较短者停止时,停止。 在Python 3 中,像在Python2中一样,返回元组的迭代器。要获取元组列表,请使用。要压缩直到两个迭代器都用尽,可以使用 。 Python 2 在Python 2中, 返回一个元组列表。当且不是很大时,这很好。如果它们都是大量的,则形