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

【Sets】使用Google Guava工程中Sets工具包,实现集合的并集/交集/补集/差集

获取两个txt文档的内容~存储进集合中求集合的并集/交集/补集/差集

 1 package com.sxd.readLines.aboutDB;
 2 
 3 import java.io.BufferedReader;
 4 import java.io.BufferedWriter;
 5 import java.io.File;
 6 import java.io.FileReader;
 7 import java.io.FileWriter;
 8 import java.io.IOException;
 9 import java.util.HashSet;
10 import java.util.Set;
11 
12 import com.google.common.collect.Sets;
13 
14 public class Test {
15     
16     /**
17      * 
18      * @throws IOException
19      */
20 
21     @org.junit.Test
22     public void test1() throws IOException  {
23         Set<String> set1 = readFile4List(new File("D:/B/1.txt"));
24         Set<String> set2 = readFile4List(new File("D:/B/DB.txt"));
25         
26         Set<String> result1 = Sets.union(set1, set2);//合集,并集
27         Set<String> result2 = Sets.intersection(set1, set2);//交集
28         Set<String> result3 = Sets.difference(set1, set2);//差集 1中有而2中没有的
29         Set<String> result4 = Sets.symmetricDifference(set1, set2);//相对差集 1中有2中没有  2中有1中没有的 取出来做结果
30         
31         //可以分别把4种不同结果 写出文件
32         
33         BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(new File("d:/B/result.txt")));
34         bufferedWriter.write("共有:"+result1.size()+"条\r\n");
35         for (String string : result1) {
36             bufferedWriter.write(string+"\r\n");
37         }
38         bufferedWriter.close();
39         
40         
41     }
42     
43     public Set<String> readFile4List(File file) throws IOException{
44         BufferedReader bufferedReader = new BufferedReader(new FileReader(file));
45         Set<String> set = new HashSet<String>();
46         String str = null;
47         while((str =bufferedReader.readLine()) != null){
48             if(str.length() > 6){
49                 set.add(str.substring(3));
50             }else{
51                 set.add(str);
52             }
53             
54         }
55         return set;
56     }
57     
58 
59 }
View Code

 

相关文章:

  • JAVA多线程入门
  • 20145223 杨梦云 《网络对抗》 Web基础
  • ionic入门之数据绑定显示-1
  • TFS 测试用例导入、导出工具
  • IntelliJ IDEA搭建SpringBoot
  • Hadoop OutputFormat浅析
  • php7 安装yar 生成docker镜像
  • 闪屏完善
  • vSphere
  • sed awk 练习
  • 利用数组创建的顺序表实现各种功能
  • 公司管理系列--80% of Your Culture is Your Founder(FaceBook)
  • 一道有趣的啤酒趣味题
  • Oracle 12C 新特性之表分区带 异步全局索引异步维护(一次add、truncate、drop、spilt、merge多个分区)...
  • javaWeb_使用标签库简化jsp
  • 5、React组件事件详解
  • Java 11 发布计划来了,已确定 3个 新特性!!
  • Javascripit类型转换比较那点事儿,双等号(==)
  • Java新版本的开发已正式进入轨道,版本号18.3
  • Netty源码解析1-Buffer
  • NLPIR语义挖掘平台推动行业大数据应用服务
  • Odoo domain写法及运用
  • Redis的resp协议
  • SegmentFault 社区上线小程序开发频道,助力小程序开发者生态
  • 大型网站性能监测、分析与优化常见问题QA
  • 工作踩坑系列——https访问遇到“已阻止载入混合活动内容”
  • 离散点最小(凸)包围边界查找
  • 如何打造100亿SDK累计覆盖量的大数据系统
  • ​2020 年大前端技术趋势解读
  • ​Distil-Whisper:比Whisper快6倍,体积小50%的语音识别模型
  • ​软考-高级-信息系统项目管理师教程 第四版【第19章-配置与变更管理-思维导图】​
  • # Maven错误Error executing Maven
  • ###51单片机学习(2)-----如何通过C语言运用延时函数设计LED流水灯
  • #define与typedef区别
  • (SpringBoot)第七章:SpringBoot日志文件
  • (第61天)多租户架构(CDB/PDB)
  • (分布式缓存)Redis分片集群
  • (附源码)php新闻发布平台 毕业设计 141646
  • (附源码)spring boot车辆管理系统 毕业设计 031034
  • (附源码)springboot 校园学生兼职系统 毕业设计 742122
  • (考研湖科大教书匠计算机网络)第一章概述-第五节1:计算机网络体系结构之分层思想和举例
  • (三)Honghu Cloud云架构一定时调度平台
  • (十八)SpringBoot之发送QQ邮件
  • (转)甲方乙方——赵民谈找工作
  • (自用)learnOpenGL学习总结-高级OpenGL-抗锯齿
  • .net CHARTING图表控件下载地址
  • .NET delegate 委托 、 Event 事件,接口回调
  • .Net 知识杂记
  • .net遍历html中全部的中文,ASP.NET中遍历页面的所有button控件
  • .Net接口调试与案例
  • .Net转Java自学之路—基础巩固篇十三(集合)
  • /ThinkPHP/Library/Think/Storage/Driver/File.class.php  LINE: 48
  • @vue/cli 3.x+引入jQuery
  • [ajaxupload] - 上传文件同时附件参数值
  • [APUE]进程关系(下)