java统计list不同元素,满足n个返回

来源:互联网 发布:sql数据库开发 编辑:程序博客网 时间:2024/04/29 07:59

/**

   * 

   * @Description: 获取店铺是不是多余或者等于pageNum个<br>

   * @param @param list

   * @param @return <br>

   * @return boolean <br>

   * @throws <br>

   */

  private booleanifStoresGreaterThan5(List<String> ids) {

    System.out.println("ids:" +ids);

    int size =ids.size();

    int num = (size) %pageNum == 0 ? (size / pageNum) : (size / pageNum + 1);// 按每pageNum条记录查询

    int start = 0;

    int end = 0;

    List<String> subIds = new ArrayList<>();

    // 每pageNum条进行统计

    int count = 0;

    for (inti = 1; i <= num;i++) {

      end = (i *pageNum) > size ? size : (i * pageNum);

      start = (i - 1) *pageNum;

      for (; start < end; start++) {

        subIds.add(ids.get(start));

      }

      count += ListRemoveDuplicate.removeDuplicate(subIds).size();

      if (count >STORE_NUM) {

        return true;

      }

      // 此处可以进行处理数据 插入 修改删除 都可以进行操作 避免同时操作大集合数据

      subIds.clear();

    }

    return false;

  }



removeDuplicate方法:

/**

   * 

   * @Description: 利用hashset不可重复去除相同元素,但是顺序会改变<br>

   * @param @param list

   * @param @return <br>

   * @return List<Object><br>

   * @throws <br>

   */

  @SuppressWarnings({"rawtypes","unchecked"})

  public static List removeDuplicate(Listlist) {

    if (CollectionUtils.isNotEmpty(list)) {

      HashSet h = new HashSet(list);

      list.clear();

      list.addAll(h);

    }

    return list;

  }


阅读全文
0 0
原创粉丝点击