java 帮助类_java ListHelper帮助类

本文介绍了一种用于处理Excel文件中数据重复问题的方法,并提供了一个实用的Java类实现。该类支持不同JDK版本的数据去重操作,并且能够进行列表分页处理。此外,还介绍了基本的集合操作如并集、交集等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

版权声明:转载原创文章请以超链接形式请注明原文章出处,尊重作者,尊重原创!

恰饭广告

import java.io.IOException;

import java.util.ArrayList;

import java.util.HashSet;

import java.util.List;

import java.util.stream.Collectors;

public class ListHelper {

/**

* 判断excel是否重复数据 是true 否false

*

* @param excelFileName

* @param args

* @return

*/

public static boolean isExcelRepeat(String excelFileName, int... args) {

try {

ArrayList> arr = ExcelHelper.getExcel(excelFileName, args);

int oldRow = arr.size();

int newRow = removeRepeatLow(arr).size();

// int newRow1 = removeRepeatHeight(arr).size();

if (oldRow != newRow) {

return true;

}

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return false;

}

/**

* 去除重复数据低版本jdk

*

* @param list

* @return

*/

public static ArrayList> removeRepeatLow(ArrayList> list) {

HashSet hs = new HashSet(list);

list.clear();

list.addAll(hs);

return list;

}

/**

* 去除重复数据高版本jdk

*

* @param list

* @return

*/

public static ArrayList> removeRepeatHeight(ArrayList> list) {

ArrayList> arr = (ArrayList>) list.stream().distinct()

.collect(Collectors.toList());

return arr;

}

/**

* list分页

*

* @param list

* @param pageSize

* @return

*/

public static List> splitList(List list, int pageSize) {

int listSize = list.size();

int page = (listSize + (pageSize - 1)) / pageSize;

List> listArray = new ArrayList>();

for (int i = 0; i < page; i++) {

List subList = new ArrayList();

for (int j = 0; j < listSize; j++) {

int pageIndex = ((j + 1) + (pageSize - 1)) / pageSize;

if (pageIndex == (i + 1)) {

subList.add(list.get(j));

}

if ((j + 1) == ((j + 1) * pageSize)) {

break;

}

}

listArray.add(subList);

}

return listArray;

}

/**

* list1.addAll(list2); //并集

*

* list2.removeAll(list1);list1.addAll(list2); //去重复并集

*

* list1.retainAll(list2); //交集

*

* list1.removeAll(list2); //差集

*/

}

让我恰个饭吧.ヘ( ̄ω ̄ヘ)

支付宝 ——————- 微信

恰饭广告

b2fa10417bcbd2c397d3c42ce544672e.gif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值