我需要重写方法从索引中删除项目并将索引中的所有剩余项目数减1。
包括上述条件,我需要重写“getLot”,因此它不依赖索引号来查找批量。它应该只根据他们的批号找到很多。因此,如果删除了批号2,那么批次3将从索引2移动到索引1并仍然被发现为批次3,而不是索引2,它不再是。 (指数从0开始)
这是我的代码:
public Lot getLot(int lotNumber)
{
if((lotNumber >= 1) && (lotNumber < nextLotNumber)) {
// The number seems to be reasonable.
Lot selectedLot = lots.get(lotNumber - 1);
// Include a confidence check to be sure we have the
// right lot.
if(selectedLot.getNumber() != lotNumber) {
System.out.println("Internal error: Lot number " +
selectedLot.getNumber() +
" was returned instead of " +
lotNumber);
// Don't return an invalid lot.
selectedLot = null;
}
return selectedLot;
}
else {
System.out.println("Lot number: " + lotNumber +
" does not exist.");
return null;
}
}
谢谢。
答案 0 :(得分:1)
您可以使用commons lang's ArrayUtils
作为:
array = ArrayUtils.removeElement(array, element)
答案 1 :(得分:0)
你有两种方法
方法1 :您可以调整代码以使用ArrayList,而不是使用Array。
String[] lotArray;
List<String> lotList = Arrays.asList(lotArray);
lotList.remove("Lot 2");
来自ArrayUtils 的方法2 :CommonLang
array = ArrayUtils.removeElement(array, element)