java实现多个文件中数据去重问题并按升序排列

本文介绍了一种使用Java实现的方法,将两个文件(test.txt和insert.txt)中的数据进行去重,并按照升序排列。经过处理,重复的日期字母组合被去除,最终结果显示为2013-01-02到2013-01-06的不重复数据,并按日期顺序展示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文件1test.txt:

2013-01-03 c
2013-01-03 c
2013-01-03 a
2013-01-04 b
2013-01-05 e
2013-01-06 f


文件2insert.txt:

2013-01-02 a
2013-01-03 a
2013-01-03 c
2013-01-04 b
2013-01-05 d
2013-01-04 b
2013-01-05 b


运行结果:

2013-01-02 a
2013-01-03 a
2013-01-03 c
2013-01-04 b
2013-01-05 b
2013-01-05 e
2013-01-05 d
2013-01-06 f


java代码:

package com.yihaodian.net.text;

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.TreeSet;

/*
 * 删除文件中重复的数字
 * @maoyuanjun
 */
public class IntegrateFile {

	/**
	 * @param args
	 * @throws IOException 
	 */
	public static void main(String[] args) throws IOException {
		// TODO Auto-generated method stub
		
		Map map = new HashMap();
		
		//文件1
		FileReader fr = new FileReader("src\\test.txt");
		BufferedReader br = new BufferedReader(fr);
		String ss = br.readLine();
		while( ss != null){
			map.put(ss,"");
			ss = br.readLine();
		}
		
		System.out.println("文件2");
		FileReader f2 = new FileReader("src\\insert.txt");
		BufferedReader bb = new BufferedReader(f2);
		String ss1 = bb.readLine();
		while( ss1 != null){
			map.put(ss1,"");
			ss1 = bb.readLine();
		}
		TreeSet ts = new TreeSet();
		
		Iterator its = map.entrySet().iterator();
		while(its.hasNext()){
			Map.Entry en = (Map.Entry) its.next();
			ts.add(en.toString());
		}
		
		Iterator tis = ts.iterator();
		while(tis.hasNext()){
			String s1 = (String) tis.next();
			System.out.println(s1.replaceAll("=", ""));
		}
		
	}
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值