【问题标题】:Remove an object n times from array list in JAVA从 JAVA 的数组列表中删除一个对象 n 次
【发布时间】:2016-03-30 01:58:34
【问题描述】:

好的,我正在制作一个应该能够通过使用字符串输入从数组列表中删除对象的方法。

假设我想从数组列表中删除以下数字:{1,2,4,3,3,1}。如何确保它只删除 1 & 3 两次和 4 & 2 一次?

我拥有的是:

mv.displayMessages("choosedicestokeep");
String in = mv.getInput();

for (char c : in.toCharArray()) {
    int x = Character.getNumericValue(c);
    for (Iterator<Integer> it = rollingHand.iterator(); it.hasNext(); ){
    int i = it.next();
        if (x == i) {
        finalHand[finalArrIndex] = i;
        it.remove();
        finalArrIndex++;
    }
}
}

但这会检查数组列表“RollingHand”并删除一个数字的所有实例,而不是我写一个我想要的数字的次数。

所以如果我输入 {1,1,1,2,2,4} 它应该删除三个 1、两个 2 和一个 4。

【问题讨论】:

  • 可以使用break退出for循环
  • 你想返回什么?
  • 啊,当然!为什么我没有看到它是什么。我盯着它看得太深了,正在考虑计数器和布尔值。谢谢你!
  • rollingHand 是一个列表吗?你可以调用 rollingHand.remove(Integer.create(x))

标签: java arraylist integer conditional


【解决方案1】:

https://stackoverflow.com/users/4584292/mike 解决了显而易见的答案。

在内部循环之外中断一个语句解决了这个问题。

该方法不返回任何内容,因为它在类中设置了一个私有 int[] finalHand,稍后其他方法可以访问该方法。

一切都归功于迈克!

【讨论】:

    猜你喜欢
    • 2011-11-05
    • 2016-11-14
    • 1970-01-01
    • 2018-07-08
    • 1970-01-01
    • 2021-07-11
    • 2020-11-07
    • 2021-12-13
    • 1970-01-01
    相关资源
    最近更新 更多