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

二手房网签合同在哪个网站做嘉兴网站seo公司

二手房网签合同在哪个网站做,嘉兴网站seo公司,公司怎么申请企业邮箱,什么是网页设计培训1.概述 list集合去重是开发中比较常用的操作#xff0c;在面试中也会经常问到#xff0c;那么list去重都有哪些方式#xff1f;他们之间又该如何选择呢#xff1f; 本文将通过LinkedHashSet、for循环、list流toSet、list流distinct等4种方式分别做1W数据到1000W数据单元测试…1.概述 list集合去重是开发中比较常用的操作在面试中也会经常问到那么list去重都有哪些方式他们之间又该如何选择呢 本文将通过LinkedHashSet、for循环、list流toSet、list流distinct等4种方式分别做1W数据到1000W数据单元测试对比去重效率 2.代码实现 2.1准备工作 构建list集合往里面插入数据在插入几条重复数据用jdk自带的System.currentTimeMillis()做计时器。 import java.util.ArrayList; import java.util.LinkedHashSet; import java.util.List; import java.util.stream.Collectors;public class Test {public static void main(String[] args) {ListString list1 initList(10000);test(list1);ListString list2 initList(50000);test(list2);ListString list3 initList(100000);test1(list3);ListString list4 initList(500000);test1(list4);ListString list5 initList(1000000);test1(list5);ListString list6 initList(2000000);test1(list6);ListString list7 initList(3000000);test1(list7);ListString list8 initList(5000000);test1(list8);ListString list9 initList(10000000);test1(list9);}public static ListString initList(int num){System.out.println(--------------------------);final ListString list new ArrayList();for (int i 0; i num; i) {list.add(haha- i);}list.add(haha- 1000);list.add(haha- 2000);list.add(haha- 3000);System.out.println(list 初始化完毕 size list.size());return list;}public static void test(ListString list){long startLong System.currentTimeMillis();ListString list1 removeDuplicate(list);System.out.println(去重后集合元素个数 list1.size());long endLong System.currentTimeMillis();System.out.println(LinkedHashSet 测试完毕实际耗时 (endLong-startLong) ,ms);long startLong1 System.currentTimeMillis();ListString list2 removeDuplicate1(list);System.out.println(去重后集合元素个数 list2.size());long endLong1 System.currentTimeMillis();System.out.println(for增强型循环 测试完毕实际耗时 (endLong1-startLong1) ,ms);long startLong2 System.currentTimeMillis();ListString list3 removeDuplicate2(list);System.out.println(去重后集合元素个数 list3.size());long endLong2 System.currentTimeMillis();System.out.println(list流toSet方式 测试完毕实际耗时 (endLong2-startLong2) ,ms);long startLong3 System.currentTimeMillis();ListString list4 removeDuplicate3(list);System.out.println(去重后集合元素个数 list4.size());long endLong3 System.currentTimeMillis();System.out.println(list流distinct方式 测试完毕实际耗时 (endLong3-startLong3) ,ms);System.out.println(--------------------------);}public static void test1(ListString list){long startLong System.currentTimeMillis();ListString list1 removeDuplicate(list);System.out.println(去重后集合元素个数 list1.size());long endLong System.currentTimeMillis();System.out.println(LinkedHashSet 测试完毕实际耗时 (endLong-startLong) ,ms);long startLong2 System.currentTimeMillis();ListString list3 removeDuplicate2(list);System.out.println(去重后集合元素个数 list3.size());long endLong2 System.currentTimeMillis();System.out.println(list流toSet方式 测试完毕实际耗时 (endLong2-startLong2) ,ms);long startLong3 System.currentTimeMillis();ListString list4 removeDuplicate3(list);System.out.println(去重后集合元素个数 list4.size());long endLong3 System.currentTimeMillis();System.out.println(list流distinct方式 测试完毕实际耗时 (endLong3-startLong3) ,ms);System.out.println(--------------------------);}private static ListString removeDuplicate(ListString list) {return new ArrayList(new LinkedHashSet(list));}private static ListString removeDuplicate1(ListString list) {ListString result new ArrayListString(list.size());for (String str : list) {if (!result.contains(str)) {result.add(str);}}return result;}private static ListString removeDuplicate2(ListString list) {return list.stream().collect(Collectors.toSet()).stream().collect(Collectors.toList());}private static ListString removeDuplicate3(ListString list) {return list.stream().distinct().collect(Collectors.toList());}} 2.2输出结果 -------------------------- list 初始化完毕 size 10003 去重后集合元素个数 10000 LinkedHashSet 测试完毕实际耗时7 ,ms 去重后集合元素个数 10000 for增强型循环 测试完毕实际耗时342 ,ms 去重后集合元素个数 10000 list流toSet方式 测试完毕实际耗时89 ,ms 去重后集合元素个数 10000 list流distinct方式 测试完毕实际耗时5 ,ms -------------------------- -------------------------- list 初始化完毕 size 50003 去重后集合元素个数 50000 LinkedHashSet 测试完毕实际耗时12 ,ms 去重后集合元素个数 50000 for增强型循环 测试完毕实际耗时6059 ,ms 去重后集合元素个数 50000 list流toSet方式 测试完毕实际耗时12 ,ms 去重后集合元素个数 50000 list流distinct方式 测试完毕实际耗时5 ,ms -------------------------- -------------------------- list 初始化完毕 size 100003 去重后集合元素个数 100000 LinkedHashSet 测试完毕实际耗时14 ,ms 去重后集合元素个数 100000 list流toSet方式 测试完毕实际耗时13 ,ms 去重后集合元素个数 100000 list流distinct方式 测试完毕实际耗时13 ,ms -------------------------- -------------------------- list 初始化完毕 size 500003 去重后集合元素个数 500000 LinkedHashSet 测试完毕实际耗时101 ,ms 去重后集合元素个数 500000 list流toSet方式 测试完毕实际耗时40 ,ms 去重后集合元素个数 500000 list流distinct方式 测试完毕实际耗时34 ,ms -------------------------- -------------------------- list 初始化完毕 size 1000003 去重后集合元素个数 1000000 LinkedHashSet 测试完毕实际耗时75 ,ms 去重后集合元素个数 1000000 list流toSet方式 测试完毕实际耗时93 ,ms 去重后集合元素个数 1000000 list流distinct方式 测试完毕实际耗时162 ,ms -------------------------- -------------------------- list 初始化完毕 size 2000003 去重后集合元素个数 2000000 LinkedHashSet 测试完毕实际耗时140 ,ms 去重后集合元素个数 2000000 list流toSet方式 测试完毕实际耗时2807 ,ms 去重后集合元素个数 2000000 list流distinct方式 测试完毕实际耗时231 ,ms -------------------------- -------------------------- list 初始化完毕 size 3000003 去重后集合元素个数 3000000 LinkedHashSet 测试完毕实际耗时177 ,ms 去重后集合元素个数 3000000 list流toSet方式 测试完毕实际耗时654 ,ms 去重后集合元素个数 3000000 list流distinct方式 测试完毕实际耗时417 ,ms -------------------------- -------------------------- list 初始化完毕 size 5000003 去重后集合元素个数 5000000 LinkedHashSet 测试完毕实际耗时307 ,ms 去重后集合元素个数 5000000 list流toSet方式 测试完毕实际耗时6364 ,ms 去重后集合元素个数 5000000 list流distinct方式 测试完毕实际耗时711 ,ms -------------------------- -------------------------- list 初始化完毕 size 10000003 去重后集合元素个数 10000000 LinkedHashSet 测试完毕实际耗时738 ,ms 去重后集合元素个数 10000000 list流toSet方式 测试完毕实际耗时1790 ,ms 去重后集合元素个数 10000000 list流distinct方式 测试完毕实际耗时1746 ,ms -------------------------- 3.总结 3.1 for循环方式去重谨慎使用 原因有2点1.代码不简洁2.耗时随着数据增大性能显著增高 3.2 LinkedHashSet推荐 LinkedHashSet是jdk自带的所以jdk所有版本都支持使用按照测试结果来说对于方便和性能要求不那么极限的来说无脑使用LinkedHashSet是最方便的的。list流distinct在70w数据以下都会比LinkedHashSet效率高。 3.3 list流toSet不推荐 按照测试结果list流的toSet方式在不同数据量的效率有很大的波动且在任意测试节点都没有LinkedHashSet或者list流distinct效率高所以也不推荐使用。 3.4 list流distinct推荐 list流是jdk8及以上提供的特性在实际场景中去重数据量超过10W基本没有只要jdk支持list流那么使用list流distinct 综上遵循jdk8以下用LinkedHashSetjdk8及以上用list流distinct
http://www.w-s-a.com/news/167839/

相关文章:

  • 重庆忠县网站建设报价网页构建
  • 怎么自己做单页网站怎么在阿里做网站
  • 公司网站重新备案做电商没几个能赚钱的
  • 网站开发我们都能解决怎样做网站吸引客户
  • 网站首页图片切换代码wordpress minfy
  • 什么程序做网站收录好企业搭建网站的必要性
  • 建设网站主题建站必须要域名吗
  • 网站建设海报设计购物平台网站建设框架
  • 湖北在线网站建设建一个网站迈年
  • 上班自己花钱做的网站网站首页的动态怎么做
  • 台州网站建设哪家便宜沧州最新消息今天
  • 建设网站 请示 报告wordpress会员制
  • 青岛建网站人做网站怎么赚钱广告
  • 网站建设哪家好公司跨境电商展会2023
  • 设计大神云集的网站是南通市 网站设计
  • 心理咨询网站模板企业画册封面设计
  • 做网站 南京网站建设的重难点分析
  • 深圳做网站980移动网站开发语言
  • 网站评论怎么做seo关键词优化方法
  • 市级部门网站建设自评报告网站优化文章怎么做
  • 可不可以异地建设网站学做网站培训班要多少钱
  • 茌平网站建设公司免费的云服务器有哪些
  • 手机网站单页面铜陵网站制作公司
  • 网站logo怎么做才清晰千库网官网首页登录
  • 山西省建设银行网站首页长沙网站建设制作
  • 襄阳市做网站 优帮云百度搜索次数统计
  • 自己做视频直播网站盐城做网站多少钱
  • 买个网站服务器多少钱重庆做的好的房产网站
  • 深圳定制建站网站建设推广关键词怎么设置
  • 宝山网站建设 网站外包修改wordpress版权