代码实现【mini版】——给定a、b两个文件,各存放50亿个url,每个url各占64字节,内存限制是4G,让你找出a、b文件共同的url?

本文介绍了一种在内存限制为4GB的情况下,处理两个各含有50亿个64字节URL的文件,找出它们交集的方法。通过哈希函数将URL取模并存储到5个小文件中,然后对比两个文件的对应部分,在Python中使用set集合进行高效检查,最终输出交集URL。这种方法适合初学者理解,但还有优化空间。
摘要由CSDN通过智能技术生成

根据https://blog.csdn.net/qq_41946557/article/details/102708186思想去写!!!

将文件中的信息当成我们文本中的每行文件,然后两个文件中分别是100条信息,然后进行读取  hash(url) %5

首先准备两个文件:xxoo.txt   ooxx.txt

 

取模并且存储到5个小文件中。代码清晰易懂。适合初学。

package com.henu;

import java.io.*;
/**
 * @author George
 * @description    大文件拆分小文件
 * 将文件中的信息当成我们文本中的每行文件,然后两个文件中分别是100条信息,然后进行读取  hash(url) %5
 **/
public class HashClass {
    public static void main(String[] args) throws IOException {
        //读取第一个文件     ooxx
        BufferedReader obr = new BufferedReader(new FileReader("d://ooxx.txt"));
        BufferedWriter obw1 = new BufferedWriter(new FileWrite
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值