java.lang.IllegalStateException从基于另一个列表<double> Java的列表中删除元素时

时间:2017-04-16 04:23:31

标签: java

我在互联网上搜索过但我没有找到解决这一特定问题的问题或解决方案,尽管有许多问题略有不同。所以我来到这里希望找到解决方案。

我不知道如何解决这个问题,我觉得这段代码不够好。

cmd

我有两个问题。如果可能,请回答两个问题。 场景是我有一个城市列表,其中city是用户定义的对象,它包含属性'coverage'时间。上述方法接受city和totaldays作为参数。所以我觉得背包算法足够合适,因为我必须用给定的总天数来优化时间。 这里的要点是,knapsack方法只接受整数参数,并返回包含fraction中值的双数组变量。现在我已经成功地通过将数组转换为list来将它传递给背包方法等等。但我的问题是我无法根据上述条件删除元素,即如果visit [] list包含0则必须删除其在城市中的相应元素。

问题1:请建议一个合适的解决方案来删除城市列表中的相应城市 问题2:我从原始类型到List类型的转换太多了。有没有什么方法可以用更好的方法实现相同的功能。请建议。谢谢

1 个答案:

答案 0 :(得分:1)

你永远不会打电话给iterc.next()。如果您之前从未致电iterc.remove(),则无法致电iterc.next()。这就是你获得IllegalStateExceltion的原因。如果您在iterc.next()之前添加if(iterd.next().intValue()==0),则会解决异常问题。

对于第二个问题,您可以通过将wp初始化为int数组而不是ArrayList来避免一些转换。