重写方法从索引中删除项目并将索引中的所有剩余项目数减1

时间:2013-03-05 03:17:22

标签: java arrays java-ee java-ee-6 java-ee-5

我需要重写方法从索引中删除项目并将索引中的所有剩余项目数减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;
    }
}

谢谢。

2 个答案:

答案 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)