繁体   English   中英

从JAVA中的数组列表中删除对象n次

[英]Remove an object n times from array list in JAVA

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

假设我想从数组列表中删除以下数字:{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。

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

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

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

所有人都相信迈克!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM