`
huangsen1101
  • 浏览: 21976 次
  • 性别: Icon_minigender_1
  • 来自: 福州
文章分类
社区版块
存档分类
最新评论

set 去重

阅读更多
转载  Java合并两个文件,Set去重。 收藏

package com.joyhoo.words;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;

public class HashSetInFile
{


//simpleFile、insertFile为两个输入文件,outFile为输出文件
public void readFile(String simpleFile,String insertFile,String outFile)
{
  Set set = new HashSet();
 
  try
  {
   String line="";

   FileInputStream fisf = new FileInputStream(simpleFile);
   InputStreamReader isrf = new InputStreamReader(fisf, "UTF8");
   BufferedReader br =new BufferedReader(isrf);
  
   while((line=br.readLine())!=null ){

    if(!line.contains(" "))
     set.add(line);
   }
   br.close();
   System.out.println(set.size());
  
   FileInputStream fis = new FileInputStream(insertFile);
   InputStreamReader isr = new InputStreamReader(fis, "UTF8");
   BufferedReader inbr=new BufferedReader(isr);

   String temp = "";
   while((temp = inbr.readLine()) != null){
    if(!set.contains(temp) ){
     set.add(temp);
    }
   }
   inbr.close();
  
   FileOutputStream fos = new FileOutputStream(outFile);
   BufferedWriter out = new BufferedWriter(new OutputStreamWriter(fos,"UTF8"));
   Iterator it = set.iterator();
  
   while(it.hasNext()){
   
    String element = (String)it.next();

    out.write(element);
    out.newLine();
   
   }
   out.close();
  
  }catch(Exception e){
   System.out.println("readFile errors:" + e.getMessage());
  }

}

public static void main(String[] args)
{
  HashSetInFile hf = new HashSetInFile();

  String simple = "D:\\tmp\\simplexu8.txt";

  String insert = "D:\\tmp\\sogou.txt";
 
  String outfile = "D:\\tmp\\simplexu81.txt";
 
  hf.readFile(simple, insert, outfile);
}

}


分享到:
评论

相关推荐

    java set 去重

    java set 去重

    两个数组的交集(set去重后找交集)1

    两个数组的交集(set去重后找交集)1

    python列表练习-列表如何去重(不使用用set或者dict)(csdn)————程序.pdf

    本篇将讨论一种不使用内置的set或dict数据结构来实现列表去重的方法。 标题提到的“python列表练习-列表如何去重(不使用set或者dict)”是一个编程练习,目的是锻炼对列表操作的理解和技巧。描述中也明确了我们要...

    python-6.列表去重-那set一下?.py

    比如,set是无序的,这意味着使用set去重后,原列表中元素的顺序可能会丢失。如果列表中包含了不可哈希的元素(如列表自身),则无法直接转换为set。此外,set去重过程不适用于含有可变类型元素的列表。 在某些情况...

    JavaScript数组去重1

    3. **利用Object/Map/Set去重法**: JavaScript的`Object`、`Map`和`Set`数据结构都具有键唯一性的特点,可以利用这个特性来去重。例如,可以将数组元素作为键添加到对象或`Map`中,或直接使用`Set`存储,最后转换...

    数组去重.zip

    这种方法与使用Set去重相同,适用于大部分场景。 总结来说,JavaScript中数组去重有多种方法,每种方法都有其适用场景。在实际开发中,应根据数据量、性能需求以及是否需要保留原始顺序来选择合适的方法。在追求...

    原生JS去重-两种方法去掉重复字符

    以下是如何用Set去重字符串中的字符: ```javascript function removeDuplicatesBySet(str) { return Array.from(new Set(str)).join(''); } var myString = "hello world"; console.log(removeDuplicatesBySet...

    Python代码源码-实操案例-框架案例-如何实现字符串与列表等数据的去重.zip

    这段代码获取了所有MyModel对象的ID,并通过set去重,生成一个不重复的ID列表。 4. **列表推导式与生成器表达式**: 对于大数据量的列表,直接转换为set可能会消耗大量内存。此时,可以使用生成器表达式来逐个...

    python set集合使用方法解析

    这篇文章主要介绍了python set集合使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 ...# 主要功能在于去重与关系元素,没有取出单个值的需求

    django queryset 去重 .distinct()说明

    `contacts`是一个包含ExternalContacts对象的QuerySet,通过循环遍历并获取每个contact的house_set,然后使用`|`操作符合并所有的House对象。最后,使用`.distinct()`来确保返回的House对象是不重复的。 需要注意的...

    Java List中数据的去重

    Java List中数据的去重 Java List中数据的去重是Java编程中一个常见的问题。今天,我们将讨论如何在Java List中去除重复的...Java List中数据的去重可以使用Set集合来实现。我们可以根据实际情况选择合适的去重方法。

    面向金融的python大作业.zip

    利用文件m-a_edges.csv获得所有api,并用set去重即可。(2)Web API被使用的次数,即统计Mashup与Web API有多少相连关系即可。利用文件m-a_edges.csv获取全部数据,数据的长度即为使用次数。(3)Web API提供商发布的API...

    python 对英文句子分词 ,去重,排序(csdn)————程序.pdf

    new_li = list(set(words)) # 使用set去重,再转换回list new_li.sort(key=words.index) # 保持原有顺序 return new_li ``` 接下来,我们需要一个函数来计算每个单词的ASCII码值之和。这可以通过遍历单词中的每...

    手稿_V1.017

    1. **C++_不筛选回溯+set去重** 2. **C++_排序+筛选回溯** ### 方法一:C++_不筛选回溯+set去重 这种方法首先使用回溯算法生成所有的排列组合,然后通过`set`来去除重复的排列。回溯算法的核心在于递归地选择每个...

    真题解析│蓝桥杯省赛真题“送分题”之第几个幸运数.pdf

    主要涉及了暴力搜索、硬算+排序以及优先队列+Set去重等几种不同的算法思想。每种方法都有其适用场景和优缺点,在实际比赛中可以根据具体情况进行选择。此类题目旨在考察参赛者的算法设计能力和编程技巧,对于提升...

    JS学习笔记之数组去重实现方法小结

    在数组去重中,Set非常实用。首先,创建一个Set对象,将原数组作为参数传入,Set会自动过滤掉重复的值。然后,为了将Set转换回数组,可以使用扩展运算符(...)。这种方法简洁且效率高,是首选的去重方式。但是,...

    set集合的基本特点,set集合底层去重原理,集合怎么进行排序

    接下来我们将深入探讨Set集合的基本特点、底层去重原理以及如何进行排序。 首先,让我们理解Set集合的基本特点: 1. **唯一性**:Set集合中的每个元素都是唯一的,不允许有重复的值。如果尝试添加已存在的元素,...

    浅谈python元素如何去重,去重后如何保持原来元素的顺序不变

    set去重得到的list2默认按升序进行排序: list2 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 使list2按照list1元素出现的顺序进行排序(也就是原来的顺序): list2.sort(key = list1.index) 此时,list2 = [1, 2, 4, 9...

    高性能js数组去重(12种方法,史上最全)

    数组去重,一般都是在面试的时候才会碰到,一般是要求手写数组去重方法的代码。如果是被提问到,数组去重的方法有...一、利用ES6 Set去重(ES6中最常用) function unique (arr) { return Array.from(new Set(arr)) }

    JavaScript数组去重的方法总结【12种方法,号称史上最全】

    本文实例总结了JavaScript数组去重的方法。分享给大家供大家参考,具体如下: 数组去重,一般都是在面试的时候才会碰到,一般是要求手写数组去重方法的代码。...一、利用ES6 Set去重(ES6中最常用) function unique

Global site tag (gtag.js) - Google Analytics