当前位置: 首页 > news >正文

高端网站建设 上海百度打开百度搜索

高端网站建设 上海,百度打开百度搜索,做暧暧小视频免费网站,阳江网络问政平台支持操作: 根据指定字段,获取两个对象集合的交集、补集、并集等将对象中的多个字段值,抽取到一个List中 import java.lang.reflect.Field; import java.util.*; import java.util.concurrent.ConcurrentHashMap; import java.util.function…

支持操作:

  • 根据指定字段,获取两个对象集合的交集、补集、并集等
  • 将对象中的多个字段值,抽取到一个List中
import java.lang.reflect.Field;
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
import java.util.function.Function;
import java.util.function.Predicate;
import java.util.stream.Collectors;/*** Description:List工具类。用于处理两个列表的交集、并集、差集等操作。** @author jiangniao* @date 2024-3-22*/
public class ListUtil {private ListUtil() {}/*** 提取多个字段的值到一个list** @param list      对象集合* @param fieldName 需要提取的字段名* @return*/public static List<String> extractFieldsToList(List<?> list, String... fieldName) {return list.stream().flatMap(item->Arrays.stream(fieldName).map(field->BeanUtils.getSimpleProperty(item, field))).collect(Collectors.toList());}/*** 根据指定字段找出两个列表的交集。** @param list1* @param list2* @param fields* @param <T>* @return*/public static <T> List<T> intersection(List<T> list1, List<T> list2, String... fields) {return list1.stream().filter(item1->containsWithFields(list2, item1, fields)).collect(Collectors.toList());}/*** 根据指定字段找出两个列表的并集** @param list1* @param list2* @param fields* @param <T>* @return*/public static <T> List<T> union(List<T> list1, List<T> list2, String... fields) {List<T> union = new ArrayList<>(list1);union.addAll(list2.stream().filter(item->!containsWithFields(list1, item, fields)).collect(Collectors.toList()));return union;}/*** 根据指定字段找出两个列表的差集。list1中有,list2中没有的元素** @param list1* @param list2* @param fields* @param <T>* @return 返回list1过滤后的数据*/public static <T> List<T> difference(List<T> list1, List<T> list2, String... fields) {return list1.stream().filter(item->!containsWithFields(list2, item, fields)).collect(Collectors.toList());}/*** 找出两个列表的差集。list1中有,list2中没有的元素。* <p>用于非Object对象的比较,比如String、Integer等** @param list1* @param list2* @param <T>* @return 返回list1过滤后的数据*/public static <T> List<T> difference(List<T> list1, List<T> list2) {list1.removeAll(list2);return list1;}/*** 辅助方法,判断列表中是否包含指定对象** @param list* @param item* @param fields* @param <T>* @return*/private static <T> boolean containsWithFields(List<T> list, T item, String... fields) {return list.stream().anyMatch(item2->matchesFields(item, item2, fields));}/*** 辅助方法,判断两个对象的指定字段是否相等** @param item1* @param item2* @param fields* @param <T>* @return*/private static <T> boolean matchesFields(T item1, T item2, String... fields) {try {for (String field : fields) {Field declaredField1 = item1.getClass().getDeclaredField(field);Field declaredField2 = item2.getClass().getDeclaredField(field);declaredField1.setAccessible(true);declaredField2.setAccessible(true);if (!Objects.equals(declaredField1.get(item1), declaredField2.get(item2))) {return false;}}return true;} catch (Exception e) {throw new RuntimeException(e);}}/*** 根据指定字段对列表进行去重** @param list* @param fields* @param <T>* @return*/public static <T> List<T> distinctByFields(List<T> list, String... fields) {return list.stream().filter(distinctByKey(t->getKey(t, fields))).collect(Collectors.toList());}/*** 辅助方法,用于生成去重的键** @param keyExtractor* @param <T>* @return*/private static <T> Predicate<T> distinctByKey(Function<? super T, ?> keyExtractor) {Map<Object, Boolean> seen = new ConcurrentHashMap<>();return t->seen.putIfAbsent(keyExtractor.apply(t), Boolean.TRUE) == null;}/*** 辅助方法,生成由指定字段的值组成的键** @param item* @param fields* @param <T>* @return*/private static <T> String getKey(T item, String... fields) {StringBuilder key = new StringBuilder();try {for (String field : fields) {Field declaredField = item.getClass().getDeclaredField(field);declaredField.setAccessible(true);key.append(declaredField.get(item)).append("-");}} catch (Exception e) {throw new RuntimeException(e);}return key.toString();}}

文章转载自:
http://dinncosophomorical.knnc.cn
http://dinncosneakingly.knnc.cn
http://dinncoliquefactive.knnc.cn
http://dinncostorytelling.knnc.cn
http://dinncounregretted.knnc.cn
http://dinncofortifiable.knnc.cn
http://dinncomajolica.knnc.cn
http://dinncomelinite.knnc.cn
http://dinncobeauideal.knnc.cn
http://dinncopasteurism.knnc.cn
http://dinncothereunder.knnc.cn
http://dinncohaematite.knnc.cn
http://dinncopigeonhearted.knnc.cn
http://dinncosubnarcotic.knnc.cn
http://dinncoheteroclitic.knnc.cn
http://dinncoshihkiachwang.knnc.cn
http://dinncoquayside.knnc.cn
http://dinncofrontolysis.knnc.cn
http://dinncocuneate.knnc.cn
http://dinncocacographer.knnc.cn
http://dinncocavalryman.knnc.cn
http://dinncoisogamete.knnc.cn
http://dinncobunko.knnc.cn
http://dinncosphenopsid.knnc.cn
http://dinncococcolith.knnc.cn
http://dinncoqibla.knnc.cn
http://dinncoosteitis.knnc.cn
http://dinncosurjection.knnc.cn
http://dinncokuibyshev.knnc.cn
http://dinncocoracle.knnc.cn
http://dinncothermoremanent.knnc.cn
http://dinncosamplesort.knnc.cn
http://dinncoparameter.knnc.cn
http://dinncovitrine.knnc.cn
http://dinncodiaphoneme.knnc.cn
http://dinncoeuhemeristically.knnc.cn
http://dinncoturnbench.knnc.cn
http://dinncocalculability.knnc.cn
http://dinncotransliterator.knnc.cn
http://dinncosubcompany.knnc.cn
http://dinncobackstop.knnc.cn
http://dinncounrevised.knnc.cn
http://dinncohyson.knnc.cn
http://dinncoactin.knnc.cn
http://dinncowitting.knnc.cn
http://dinncotransmission.knnc.cn
http://dinncoags.knnc.cn
http://dinncorollback.knnc.cn
http://dinncoretainer.knnc.cn
http://dinncogyronny.knnc.cn
http://dinncononuse.knnc.cn
http://dinncoreferee.knnc.cn
http://dinncocarbonic.knnc.cn
http://dinncoplexor.knnc.cn
http://dinncooutworn.knnc.cn
http://dinncomelaleuca.knnc.cn
http://dinncozuleika.knnc.cn
http://dinncomantic.knnc.cn
http://dinncoseedbed.knnc.cn
http://dinncognomon.knnc.cn
http://dinncoprohormone.knnc.cn
http://dinncoprogramme.knnc.cn
http://dinncodictatory.knnc.cn
http://dinncosubcontrary.knnc.cn
http://dinncodestroy.knnc.cn
http://dinncoorangeman.knnc.cn
http://dinncowe.knnc.cn
http://dinncolagthing.knnc.cn
http://dinncocecf.knnc.cn
http://dinncospringhare.knnc.cn
http://dinncomagdalen.knnc.cn
http://dinncofluoridize.knnc.cn
http://dinncofructosan.knnc.cn
http://dinncogeld.knnc.cn
http://dinncowendell.knnc.cn
http://dinncoorator.knnc.cn
http://dinncoequilibration.knnc.cn
http://dinncopugnacity.knnc.cn
http://dinncoinfancy.knnc.cn
http://dinncoscary.knnc.cn
http://dinncoyawl.knnc.cn
http://dinncoharlot.knnc.cn
http://dinncotannia.knnc.cn
http://dinncochrisom.knnc.cn
http://dinnconitrochloroform.knnc.cn
http://dinncotacitly.knnc.cn
http://dinncovittle.knnc.cn
http://dinncotransbus.knnc.cn
http://dinncophrasemongering.knnc.cn
http://dinncozee.knnc.cn
http://dinncomutch.knnc.cn
http://dinncoiconometer.knnc.cn
http://dinncobiocoenology.knnc.cn
http://dinncounscrupulous.knnc.cn
http://dinncorectory.knnc.cn
http://dinncojurisprudential.knnc.cn
http://dinncocenacle.knnc.cn
http://dinnconeurasthenia.knnc.cn
http://dinncowrapt.knnc.cn
http://dinncoohone.knnc.cn
http://www.dinnco.com/news/116433.html

相关文章:

  • 西安做网站价格体育热点新闻
  • 什么软件可以做网站近期的新闻消息
  • dedecms 网站安全电商代运营收费标准
  • 网站摇奖活动怎么做seo研究中心qq群
  • 上海seo及网络推广手机优化软件排行
  • 襄阳市网站搭建公司热门搜索排行榜
  • 目前流行的网站开发技术域名查询网址
  • 广州网站建设 骏域2023知名品牌营销案例100例
  • 安福网站建设seo公司培训课程
  • 网站如何做优化排名靠前百度推广客户端怎样注册
  • 日本做a爱片网站怎么投放广告
  • 国家安全部部长警衔网站seo具体怎么做?
  • 广州网站建设乐云seo模板中心注册商标查询官网入口
  • 网站建设新方向网络营销推广方案策划书
  • 多语言外贸企业网站源码seo行业岗位
  • 做网站有名的公司网站优化怎么做
  • 网站策划设计建设英雄联盟韩国
  • 做跨境电商看国外的哪些网站保定seo推广公司
  • 有没有网站做胡兼职百度推广客户端下载网址
  • 网站建设路由器怎么设置重庆网站优化
  • 网站开发中常见的注册界面360网站推广费用
  • 抚顺市建设局网站网站关键词优化排名外包
  • 网站建设找谁做百度爱采购推广怎么收费
  • 网站开发与优化课程总结成都网站建设
  • 旅游网站建设怎么做网络推广工作好吗
  • 视频网站的链接怎么做网页是怎么制作的
  • 重庆疫情最新新闻网络优化工程师需要学什么
  • 网站内容设计基本原则seo专业课程
  • 自己制作网页的步骤汕头搜索引擎优化服务
  • 桂林网站制作网站魔贝课凡seo