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

网站空间500m是什么网页构成有哪几部分

网站空间500m是什么,网页构成有哪几部分,网站整站开发视频教程,如何快速的制作h5页面码到三十五 #xff1a; 个人主页 心中有诗画#xff0c;指尖舞代码#xff0c;目光览世界#xff0c;步履越千山#xff0c;人间尽值得 ! 在Java中#xff0c;取两个List集合的交集可以通过多种方式实现#xff0c;包括使用Java 8的Stream API、传统的for循环遍历、使… 码到三十五 个人主页 心中有诗画指尖舞代码目光览世界步履越千山人间尽值得 ! 在Java中取两个List集合的交集可以通过多种方式实现包括使用Java 8的Stream API、传统的for循环遍历、使用集合的retainAll方法以及使用Apache Commons Collections库等。 目录 方法一使用Java 8的Stream API方法二使用传统的for循环遍历方法三使用Set的retainAll方法方法四使用Java的CollectionUtilsApache Commons Collections方法五使用Java Stream API的anyMatch方法六使用Java 8的并行流Parallel Streams方法七使用Java的并发工具类方法八使用第三方库如Guava 方法一使用Java 8的Stream API 这种方法利用Stream API的filter和collect操作来找到两个列表的交集。 ListInteger list1 Arrays.asList(1, 2, 3, 4, 5); ListInteger list2 Arrays.asList(4, 5, 6, 7, 8);ListInteger intersection list1.stream().filter(list2::contains).collect(Collectors.toList());方法二使用传统的for循环遍历 这种方法通过遍历一个列表并检查其元素是否存在于另一个列表中来实现交集。 ListInteger list1 Arrays.asList(1, 2, 3, 4, 5); ListInteger list2 Arrays.asList(4, 5, 6, 7, 8); ListInteger intersection new ArrayList();for (Integer item : list1) {if (list2.contains(item)) {intersection.add(item);} }使用HashSet优化遍历方法 import java.util.ArrayList; import java.util.Arrays; import java.util.HashSet; import java.util.List; import java.util.Set;public class ListIntersection {public static void main(String[] args) {ListInteger list1 Arrays.asList(1, 2, 3, 4, 5);ListInteger list2 Arrays.asList(4, 5, 6, 7, 8);SetInteger set1 new HashSet(list1);ListInteger intersection new ArrayList();for (Integer num : list2) {if (set1.contains(num)) {intersection.add(num);}}System.out.println(交集 intersection);} }将list1转换为HashSet以提高查找效率。然后我们遍历list2并检查其元素是否存在于set1中。如果存在则将其添加到交集列表中。请注意由于HashSet不保证元素的顺序因此交集列表中的元素顺序可能与原始列表不同。如果需要保持顺序可以使用LinkedHashSet代替HashSet。 方法三使用Set的retainAll方法 这种方法首先将两个列表转换为Set然后利用Set的retainAll方法来找到交集。retainAll方法会保留在指定集合参数中存在的元素。 ListInteger list1 Arrays.asList(1, 2, 3, 4, 5); ListInteger list2 Arrays.asList(4, 5, 6, 7, 8);SetInteger set1 new HashSet(list1); SetInteger set2 new HashSet(list2); set1.retainAll(set2); // set1现在只包含交集元素ListInteger intersection new ArrayList(set1);方法四使用Java的CollectionUtilsApache Commons Collections 如果你的项目中已经包含了Apache Commons Collections库你可以使用其提供的CollectionUtils类来方便地找到交集。 import org.apache.commons.collections4.CollectionUtils;ListInteger list1 Arrays.asList(1, 2, 3, 4, 5); ListInteger list2 Arrays.asList(4, 5, 6, 7, 8);ListInteger intersection (ListInteger) CollectionUtils.intersection(list1, list2);注意Apache Commons Collections库中的intersection方法返回的是java.util.Collection类型所以需要进行类型转换。 方法五使用Java Stream API的anyMatch 之前已经用filter方法展示了如何使用Stream API找交集但其实也可以用anyMatch来实现类似的功能。不过这种方法通常不是最高效的因为它需要对每个元素进行遍历检查。 ListInteger list1 Arrays.asList(1, 2, 3, 4, 5); ListInteger list2 Arrays.asList(4, 5, 6, 7, 8);ListInteger intersection list1.stream().filter(item - list2.stream().anyMatch(item::equals)).collect(Collectors.toList());注意这种方法的时间复杂度较高因为对于list1中的每个元素它都会遍历整个list2。因此对于大型列表这种方法不推荐使用。 方法六使用Java 8的并行流Parallel Streams 如果列表很大并且你的机器有多个处理器核心你可以考虑使用并行流来加速交集的计算。 ListInteger list1 Arrays.asList(1, 2, 3, 4, 5); ListInteger list2 Arrays.asList(4, 5, 6, 7, 8);SetInteger set2 new HashSet(list2); // 使用HashSet提高查找效率ListInteger intersection list1.parallelStream().filter(set2::contains).collect(Collectors.toList());注意并行流并不总是比顺序流更快特别是在处理小数据集或数据集不适合并行处理时。此外并行流的使用也会增加线程的开销。 方法七使用Java的并发工具类 如果你在处理非常大的数据集并且希望利用多核处理器的能力你可以考虑使用Java的并发工具类如ForkJoinPool来并行计算交集。 这种方法比较复杂通常用于高级并发编程场景。基本思路是将大任务拆分成小任务然后使用ForkJoinPool来并行处理这些小任务并最终合并结果。 方法八使用第三方库如Guava 除了Apache Commons Collections还有其他第三方库如Guava也提供了集合操作的工具类。 例如使用Guava的Sets.intersection(SetE set1, SetE set2)方法可以很容易地找到两个集合的交集 import com.google.common.collect.Sets;ListInteger list1 Arrays.asList(1, 2, 3, 4, 5); ListInteger list2 Arrays.asList(4, 5, 6, 7, 8);SetInteger set1 new HashSet(list1); SetInteger set2 new HashSet(list2);SetInteger intersectionSet Sets.intersection(set1, set2); ListInteger intersection new ArrayList(intersectionSet);注意Guava的Sets.intersection方法返回的是一个不可修改的视图它表示两个原始集合的交集。这个视图会随着原始集合的变化而变化但它本身不占用额外的空间。如果你需要一个独立的交集集合可以像上面那样将其复制到一个新的ArrayList中。 通过以上方法的介绍和实践希望能够帮助你更好地理解Java中List集合交集的计算并能够在实际开发中灵活运用。
http://www.pierceye.com/news/854130/

相关文章:

  • 网站开发语言字典使用apmserv本地搭建多个网站
  • 建网站费用记账北京时间网站建设
  • 兴化网站开发佛山营销网站建设联系方式
  • 安居客官网网站天津 网站设计制作公司
  • seo建站优化价格表中山网站建设品牌
  • wp网站源码聊城市住房和城乡建设局网站首页
  • 个人博客网站总结买东西的网站
  • 兰州新区小程序建站网站的漂浮广告怎么做
  • 用vs代码做网站线上拓客渠道有哪些
  • 微信网站界面如何免费创建自己的平台
  • 电商设计一般都是做什么潍坊网站seo外包
  • 大城怎么样做网站雄安建设工程信息网站
  • 郑州网站建设方案服务安全狗iis版删了以后 网站打不开
  • 忻州网站制作jsp小型网站开发代码
  • 如何外贸网站推广wordpress默认主题哪个好
  • 设计网站推荐提升审美网站建设的公司
  • 张浦专业做网站网站建设案例百度云
  • 佛山网站如何制作网站建设公司哪家强
  • 韩城市网站建设编程培训机构加盟哪家好
  • 已备案网站更换域名广东工厂网站建设
  • 营销型网站有哪些特点建设官方网站的费用账务处理
  • 区域网站设计WordPress无法发布
  • html网站开发主要涉及哪些技术百度域名的ip
  • 织梦网站数据下载wordpress如何播放百度云视频
  • 建站的费用服务器搭建网站环境
  • 查看公司信息的网站旅游网站效果图
  • 娄底网站制作重庆专题片制作
  • 网站建设佰金手指科杰十七织梦淘客网站
  • 财务系统seo西安
  • 如何做好网站建设的关键重点网站地图那么建设