去重复行,用SQL写很简单,就一句SELECT DISTINCT … FROM。但是文件上没法直接用SQL了,想用SQL还得找个数据库先建表,也很麻烦。如果是小文件,那用java对付一下也不太费劲,大概这样:

String file ="d:/urls.txt";

ArrayList<String> result = new ArrayList<String>();

BufferedReader br=null;

try{

br = new BufferedReader(new FileReader(file));

String row = br.readLine();

while(row!=null){

if(!result.contains(row)){

result.add(row);

}

row = br.readLine();

}

}finally{

if(br!=null)

try {

br.close();

} catch (IOException e) {

}

}

但如果是大文件,这代码肯定崩了。这时候得用文件做缓存,或者先排序,总之都非常麻烦。

这种情况,如果有集算器就省事多了,用SPL只要一句话:

file("d:/urls.txt").cursor().groupx(#1).fetch()

甚至还可以直接对着文件写SQL:

$select distinct #1 from d:/urls.txt

集算器和SPL不仅能对文本做去重,还有很多运算都可以做,其中大多数查询还能直接用SQL,可以参考:SPL 结构化文本计算

SPL也能很方便地嵌入到JAVA应用,可参考:Java 如何调用 SPL 脚本

具体使用方法可参考: 如何使用集算器

java代码如何降低重复率_JAVA 如何实现大文本去除重复行相关推荐

  1. 如何高效地做到大文本去除重复行

    如果只是去重,用sort的效率很低(指的是上千万行的量级),因为做了额外操作,因为你只是要去重,而不是排序 用awk数组来实现很简单很快,利用了awk数组是hashtable实现的特性.内存占用和去重 ...

  2. 文本 去除重复行(sublime Text3 ,正则表达式)

    文本 去除重复行(sublime Text3 ,正则表达式) 去除重复行的方法很多,这里通过正则表达式实现: 农林牧渔子类 农林牧渔子类 农林牧渔子类 农林牧渔子类 卫生和社会工作子类 卫生和社会工作 ...

  3. java代码如何降低重复率_影响网站跳出率的主要因素及如何降低网站跳出率?...

    网站跳出率和停留时间,也是百度作为综合数据考核的标准之一.通常情况下,网站的跳出率越低越好.那么今天就和大家分享一下"网站跳出率". 首先"影响网站跳出率的因素" ...

  4. java如何找重复数字_Java如何找出数组中重复的数字

    题目描述:找出数组中重复的数字,具体内容如下 在一个长度为n的数组里的所有数字都在 0~n-1的范围内.数组中某些数字是重复的,但不知道有几个数字是重复的,也不知道每个数字重复了几次.请找出数组中任意 ...

  5. java代码是怎么运行的_Java代码是如何运行起来的?

    目录 1.编译 写好:".java"代码后,会通过编译器将代码编译成.class后缀的字节码文件 Java是平台无关的,实现语言无关性的基础就是虚拟机和字节码存储格式 只要编译器按 ...

  6. Java代码有效和片段有效_Java 9 尝鲜之交互式编程环境

    Java 9 JShell--Java 9 的交互式编程环境 本文要求读者有基本的 Java 知识. Tips Java 9 的代码由于提供了新特性,所以有些代码并不支持向后兼容.也就是说,用 Jav ...

  7. java 导出excel并使用统计函数,java数组怎么求和(EXCEL 怎么用函数公式计数(去除重复项))...

    EXCEL 怎么用函数公式计数(去除重复项) 要好好学习,在用函数计算公式来计算. 如何在EXCLE中定义公式求的不同类别数组中的最大值或最小值? 做透视图就可以,需要时点右键刷新一下,公式也可以,但 ...

  8. java过滤map去除重复数据,javascript模拟map输出与去除重复项的方法

    本文实例讲述了javascript模拟map输出与去除重复项的方法.分享给大家供大家参考.具体方法如下: 1.Javascriptmap输出 function Map(){ // private va ...

  9. 去除html重复的元素 js,js数组中去除重复值的几种方法

    在日常开发中,我们可能会遇到将一个数组中里面的重复值去除,那么,我就将我自己所学习到的几种方法分享出来 去除数组重复值方法: 1,利用indexOf()方法去除 思路:创建一个新数组,然后循环要去重的 ...

  10. python统计重复的数_python统计一个文本中重复行数的方法

    本文实例讲述了python统计一个文本中重复行数的方法.分享给大家供大家参考.具体实现方法如下: 比如有下面一个文件 2 3 1 2 我们期望得到 2,2 3,1 1,1 解决问题的思路: 出现的文本 ...

最新文章

  1. cocos2d-x JS 获取当前系统时间(解决屏幕双击点击事件)
  2. 树-堆结构练习——合并果子之哈夫曼树
  3. 如何使用 rsync 备份 Linux 系统的一些介绍
  4. wxWidgets:多线程概述
  5. Collections.toMap 报错 空指针 key重复
  6. ROS 常用命令汇总(不定期更新)
  7. JAVA程序设计----java面向对象基础(下)
  8. 《Two Dozen Short Lessons in Haskell》学习(十)- Private Definitions — the where-clause
  9. 学成在线--26.课程图片管理(图片删除)
  10. B端产品如何寻找竞品?
  11. html5自由者,排球自由人可以一直不下场吗?就是可不可以一直在后排轮换?
  12. SpringBoot系列(6)——使用AOP处理请求
  13. python选股模型 均线_python量化 双均线策略(金叉死叉)
  14. java 设置时区_Java Calendar如何设置时区
  15. 期末GIS人的《计量地理学》突击复习有救了
  16. 前端JavaScript(1) --Javascript简介,第一个JavaScript代码,数据类型,运算符,数据类型转换,流程控制,百度换肤,显示隐藏...
  17. 一个故事讲完进程、线程和协程
  18. UMLChina建模竞赛第3赛季第6轮:随身老印医
  19. 《JDK学习》使用JDK的keytool生成p12证书
  20. linux添加三个用户lab1,linux操作系统实验linux下用户与组的管理

热门文章

  1. python numpy模块玩转矩阵与科学计算
  2. 边境线 详解(C++)
  3. codeforces Div.2(5.21)B题
  4. 打java包需要对应服务器么_java打war包、部署服务器
  5. Oracle连续排名,oracle不连续排名rank() over(order by column desc),连续排名 dense_rank over(order by)...
  6. java fx combox,combobox – 带有FXML的组合框JavaFx
  7. java框架快速使用mysql_阿里java架构师教你怎么用mysql怒怼面试官
  8. jquery 同胞 siblings next nextAll nextUtil pre preAll preUtil
  9. AsyncResult使用场景
  10. 利用自定义注解,AOP + redis限制ip访问接口次数