`

java 对重复电话号码进行排除的优化(排序和前后对比)

 
阅读更多
1.先对10万数据排序;

2.对比前后两条数据 ;

3.筛选出正确数据。

package com.xxx.xxx;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Random;

public class Test2 {
    final static int _capacity = 1000000;
    final static Random rand = new Random(System.currentTimeMillis() + _capacity);
    static ArrayList<String> list = new ArrayList<String>(_capacity);
    static ArrayList<String> newlist = new ArrayList<String>(_capacity);

    public static void main(String[] args) throws InterruptedException {
        long ts = System.currentTimeMillis();
        int modVal = _capacity / 3;
        for (int i = 0; i < _capacity; i++) {
            rand.setSeed(i);
            list.add(Integer.toString(Math.abs(rand.nextInt() % modVal)));
        }
        ts = System.currentTimeMillis() - ts;
        // 生成一个100000条数据的list
        System.out.println("生成时间 :" + ts);
        test2();
    }

    static void test() {
        newlist.clear();
        int repetition = 0;
        long ts = System.currentTimeMillis();
        
        Collections.sort(list);
        String str = list.get(0);
        int max = list.size();
        for (int i = 1; i < max; i++) {
            if (str.equals(list.get(i))) {
                repetition++;
                continue;
            }
            newlist.add(str);
            str = list.get(i);
        }
        newlist.add(str);

        ts = System.currentTimeMillis() - ts;
        System.out.println("------ 排序检查方法 -------");
        System.out.println("查找时间 :" + ts);
        System.out.println("重复 :" + repetition);
        System.out.println("正确 :" + newlist.size());
    }
    
    
}




分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    java中文排序,数字字母汉字排序

    在Java编程语言中,对包含中文、数字和字母的数据进行排序是一项常见的任务。这个场景下,我们关注的是如何实现一个自定义的排序规则,按照数字、字母和汉字的顺序进行排列。以下是对这一主题的详细解释。 首先,...

    java文件夹按时间、大小等排序

    在Java编程中,对文件夹中的文件进行排序是一项常见的任务,尤其在处理大量数据或进行自动化操作时。这里我们将深入探讨如何使用Java实现文件按时间、大小等属性进行排序的功能。 首先,我们要引入`java.io.File`类...

    java 冒泡排序法 PPT文档

    通过学习这个PPT,你将能够理解冒泡排序的基本思想,掌握其Java实现,以及在不同场景下的应用和优化。如果你是初学者,这个PPT将帮助你打下坚实的算法基础;如果你是经验丰富的开发者,回顾这些基础知识也会有助于...

    java 实现文件MD5 加密比较,防止上传重复文件

    这个类可以实现,java语言下通过对上传文件进行MD5加密,然后将加密值与原来上传的文件加密值进行对比,防止上传重复文件。

    C语言实现的冒泡排序算法(另附Java实现代码)

    冒泡排序是一种简单的排序算法,通过重复地遍历待排序的序列,比较相邻元素的大小,并进行交换,以达到排序的目的。文章中不仅提供了C语言的实现代码,还额外附带了Java语言的实现版本,为跨语言学习的读者提供了...

    java--JTable排序实例源码

    这个实例“java--JTable排序实例源码”提供了一个功能,允许用户通过点击表头对`JTable`中的数据进行排序。这种功能在处理大量数据时非常实用,使得用户能轻松地查看和理解数据。 首先,我们来深入了解一下`JTable`...

    java图形化界面实现的个人通讯录管理系统

    Java图形化界面实现的个人通讯录管理系统是一种基于Java技术开发的应用程序,主要用于管理和维护个人的联系人信息。这个系统提供了用户友好的图形用户界面(GUI),使得用户能够方便地进行个人信息管理和通讯录的...

    JAVA_API1.6文档(中文)

    java.util 包含 collection 框架、遗留的 collection 类、事件模型、日期和时间设施、国际化和各种实用工具类(字符串标记生成器、随机数生成器和位数组)。 java.util.concurrent 在并发编程中很常用的实用工具类...

    java多线程导出excel(千万级别)优化

    Java多线程导出Excel是处理大数据量时的一种高效策略,尤其在面对千万级别的数据时。传统的Apache POI库在处理大规模数据时可能会遇到栈溢出(StackOverflowError)和内存溢出(OutOfMemoryError)等问题,因为这些...

    Java OCR 图像智能字符识别技术,可识别中文

    3. 后处理:通过上下文信息、词典约束等手段,对初步识别的结果进行校正和优化。 在Java环境中,我们可以利用Java的JNI(Java Native Interface)技术,调用C++编写的OCR库,如OpenCV和Tesseract的C++接口,实现...

    排序算法演示系统论文、源码

    本文主要介绍了一个基于Java2SE开发的排序算法演示系统,该系统涵盖了八种常见的排序算法,包括快速排序、冒泡排序、堆排序、直接插入排序、希尔排序、直接选择排序、归并排序以及基数排序。这些排序算法在计算机...

    JAVA语音聊天一对一音频信号传输

    总结来说,实现Java语音聊天一对一音频信号传输,开发者需要掌握网络编程、音频处理、数据压缩以及性能优化等多个领域的知识,并在实际开发中不断调整和优化,以实现高效、稳定、高质量的语音通信。

    JAVA近百种算法大全

    4. 快速排序:利用分治策略,选取一个基准值,将数组分为两部分,分别对两部分进行快速排序。 5. 归并排序:同样采用分治法,将数组拆分成小段,分别排序后合并。 6. 堆排序:构建一个大顶堆(或小顶堆),然后将堆...

    java图像识别(判断两个图是否相似)

    在Java中进行图像识别,尤其是判断两张图片是否相似,是一个涉及计算机视觉和图像处理的复杂任务。本话题将深入探讨如何使用Java实现这一功能。在实际应用中,图像相似度判断广泛应用于图像检索、内容识别、人脸识别...

    java工作日计算(去除法定假日)

    在Java编程中,计算工作日是一项常见的需求,特别是在金融、物流和项目管理等领域。这个话题主要涉及如何在Java中处理日期和时间,并考虑到法定节假日的影响。以下是对这一主题的详细阐述: 1. **日期和时间处理库*...

    文本相似度对比器(Java)

    文本相似度对比是信息技术领域中的一个重要概念,尤其在信息检索、自然语言处理和教育防作弊系统中广泛应用。在这个Java程序中,它实现了对文本相似度的计算,以便于判断两个或多个文档之间的相似程度。下面将详细...

    Android里List时间升序排序

    为了解决这个问题,我们需要对日期字符串进行预处理,将其转换为标准格式,然后再进行排序。 首先,让我们理解`Collections.sort()`的工作原理。这是一个通用的方法,可以对任何实现了`Comparable&lt;T&gt;`接口的集合...

    Java抓包分析四(基于jnetpcap进行抓包)

    Java抓包分析是网络编程领域中的一个重要话题,它主要用于监测和分析网络通信数据,以便调试、安全检测或性能优化。本篇将详细讲解如何利用Java的jnetpcap库进行网络抓包操作。 jnetpcap是一个Java版的libpcap库...

    java一亿数字取前100个(3秒钟获取)

    在这种情况下,可以使用流对数字集合进行排序,并获取前100个最小值。但是,考虑到性能要求,流API可能不是最佳选择,因为它涉及全量排序,时间复杂度为O(n log n)。 3. **快速选择算法(QuickSelect)**:这是一种...

    很强大的java代码混淆工具 Jocky

    大家熟知的Progaurd只能对class文件进行混淆,也就是必须先把java源码编译为class文件,然后再进行混淆 Jockey跟其他混淆工具不同的是:它是直接对编译过程做文章,也就是在把java文件编译为class文件的过程中对代码...

Global site tag (gtag.js) - Google Analytics