Discuss / Java / 查找丢失的数据

查找丢失的数据

Topic source

杜甫

#1 Created at ... [Delete] [Delete and Lock User]
/** * 编写单元测试 * 测试查找丢失数据 */@Testpublic void testFindNum() {    // 构造从start到end的序列:    int start = 10;    int end = 20;    List<Integer> listData =new ArrayList<>();    for (int i = start; i <= end; i++) {        listData.add(i);    }    //通过随机索引删除listData中的值,并返回被删除的元素值    int randomIdx = (int) (Math.random() * listData.size());    Integer removed = listData.remove(randomIdx);    System.out.println("删除后的元素 = " + removed);    //查找一个丢失的数据    int missingNumber = findMissingNumber(start, end, listData);    System.out.println("丢失的数据 = " + missingNumber);    System.out.println((removed == missingNumber) ? "找到了": "没找到");}/** * 查找丢失的值 * * @param start int * @param end   int * @param movedList List<Integer> * @return int */private int findMissingNumber(int start, int end, List<Integer> movedList) {    List<Integer> tmpList = new ArrayList<>();    for (int i = start; i <= end; i++) {        tmpList.add(i); //自动装箱    }    //求差集    tmpList.removeAll(movedList);    return tmpList.getFirst();  //自动拆箱}

  • 1

Reply