Java处理重复,重复的元素只保留一个。
来源:互联网 发布:网络管理看什么书 编辑:程序博客网 时间:2024/06/07 00:29
一、第一个类。读取文字存储在LinkedList中,通过它的contains方法判断是否重复,重复不处理,不重复则加入。
package com.aawant.nlp.filehandle;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.LinkedList;
public class DeleteRepeat {
/**
* 将文件中的文字存储在LinkedList中,
* @param path
* @return
* @throws Exception
*/
public static LinkedList<String> deleterepeat(String path) throws Exception{
LinkedList<String> linkedlist = new LinkedList<String>();
File file = new File(path);
FileInputStream fi = new FileInputStream(file);
InputStreamReader ir = new InputStreamReader(fi);
@SuppressWarnings("resource")
BufferedReader br = new BufferedReader(ir);
String temp = "";
while((temp=br.readLine())!=null){
temp = temp.trim();
if(linkedlist.contains(temp)){
continue;
}
linkedlist.add(temp);
}
return linkedlist;
}
public static void main(String args[]) throws Exception{
;
String str = FileHandle.list2string(deleterepeat("F:/position.txt"));
FileHandle.string2File(str,"F:/position2.txt","utf-8");
}
}
二、第二个类。一些文件的基本处理方法。
package com.aawant.nlp.filehandle;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStreamWriter;
import java.util.Iterator;
import java.util.LinkedList;
public class FileHandle {
/**
* 将字符串写入 文件
* @param str 字符串
* @param outputPath 写入的路径
* @param code 写入的编码格式
* @throws Exception
*/
public static void string2File(String str, String outputPath, String code) throws Exception{
OutputStreamWriter osw = null;
FileOutputStream fos = null;
BufferedWriter bw = null;
File file = new File(outputPath);
fos = new FileOutputStream(file);
osw = new OutputStreamWriter(fos,code);
bw = new BufferedWriter(osw);
bw.write(str);
bw.close();
fos.close();
}
/**
* 将list中的数据以字符串形式输出
* @param linkedlist
* @return String
*/
public static String list2string(LinkedList<?> linkedlist){
Iterator<?> iter = linkedlist.iterator();
StringBuilder sb = new StringBuilder();
while(iter.hasNext()){
sb.append((String) iter.next());
sb.append("\n");
}
return sb.toString();
}
}
- Java处理重复,重复的元素只保留一个。
- 将一个数组中的重复元素保留一个其他的清零(Java)
- 重复数据只保留一条
- Map重复添加一个键的值,只保留最后一次的
- 给定一个字符串,去重(重复的字符只保留第一次出现的)
- 数组重复元素的处理
- C# 剔除数据库查询到的重复数据,只保留一个(distinct)
- sql 删除重复的项,保留一个。
- “删除重复元素”:保留两个
- 给定一个字符串,里面会有连续重复出现的字符,比如aabbbcdde,要求把连续重复的字符只保留一个,比如上面的字符串处理之后就变成了abcde。
- 删除表中重复的记录,只保留一条
- sql删除表中有重复的数据,只保留一条
- SqlServer-删除某一个字段重复的记录,只保留一条
- 删除数据库中重复的信息,只保留一条
- 删除表中某字段重复的记录(只保留一条)
- mysql 删除字段内的重复内容只保留一条
- mysql 删除表中重复的数据,只保留一条
- Java实现单链表(已排序)去重(保留重复元素第一次出现的节点)
- D3.js如何读取json文件
- sql 中 in 和 exists 的 用法和区别
- Linux: Find Command
- 安卓源码服务
- 无领导小组讨论面试真题解析(十)——你会怎么办?
- Java处理重复,重复的元素只保留一个。
- Navicat For Mysql快捷键
- 黑马程序员——java基础学习--String类,StringBuffer和基本数据包装类
- 单例模式
- 黑马程序员-Calendar
- 真开心,第一次写ActiveReport 脚本给终于运行成功!
- Struts2中用拦截器判定是否已经登录
- Temp
- 【VNC】Linux环境VNC服务安装、配置与使用