`
zengshaotao
  • 浏览: 787990 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

去除重复项

 
阅读更多
假定一个txt文件,内容是
45.44,66.78
47.67,69.12
......

内容有重复的,数据项是坐标项。


处理方法:

对于数据内容,定义如下实体类:

public class Point {

    private double x;
    private double y;

    public double getX() {
      return x;
    }
    public void setX(double x) {
      this.x = x;
    }
    public double getY() {
      return y;
    }
    public void setY(double y) {
      this.y = y;
    }
   
    public Point(){
      x=0;
      y=0;
    }
    public Point(double x,double y){
      this.x=x;
      this.y=y;
    }
    public Point(String str){
      String[] p=str.split(",");
      this.x=Double.valueOf(p[0]);
      this.y=Double.valueOf(p[1]);
    }
    public String print(){
      return "<"+this.x+","+this.y+">";
    }
   
    //两个点重复,也就是数据项重复,这里需要重写equals方法
    public boolean equals(Object obj) {
if (obj == null) {
return false;
}
if (this == obj) {
return true;
}
Point other = (Point) obj;
if (this.getX() == other.getX() && this.getY() == other.getY()) {
return true;
}
return false;
    }
}

然后初始化含有重复项的原始数据,并去除:

public List<Point> getPointsList() throws IOException{
      List<Point> lst=new ArrayList<Point>();
      String txtPath="points.txt";
      BufferedReader br=new BufferedReader(new FileReader(txtPath));
      String str="";
      while((str=br.readLine())!=null && str!=""){
        lst.add(new Point(str));
      }
      br.close();
     
      //过滤重复的Point对象
      List<Point> list = new ArrayList<Point>();
      for (Object o:lst) 
      {
      if (!list.contains(o))
      {
      list.add((Point)o);
      }
      }
      return list;
}

这里直接以原始数据作为循环级数,然后每次进行contains判断,比较合理。
如果使用双重循环,就会使得性能下降。
分享到:
评论

相关推荐

    易语言利用数据结构去除重复项

    本文将深入探讨如何利用易语言的数据结构来去除重复项,以及其背后的实现原理。 首先,我们要理解什么是数据结构。数据结构是组织、管理和存储数据的方式,它能有效地支持数据的操作。在易语言中,常见的数据结构...

    MSSQL2005中删除重复项

    本文将基于提供的信息“MSSQL2005中删除重复项”,深入探讨如何有效地识别并删除表中的重复记录。 ### 标题解读:MSSQL2005中删除重复项 #### MSSQL2005简介 Microsoft SQL Server 2005是微软公司推出的一款企业级...

    php处理二维数组(去除重复项,排序,转换,去空白等)

    ### 一、去除二维数组中的重复项 在PHP中,处理二维数组的一个常见需求是去除其中的重复项。一个有效的函数`unique_arr()`可以实现这一目标。 #### 函数实现: ```php function unique_arr($array2D, $stkeep = ...

    Excel重复数据怎么去掉 -删除重复项-功能轻松去重.docx

    Excel 提供了一个名为"删除重复项"的功能,该功能可以快速删除重复的数据行。要使用该功能,需要按照以下步骤进行: 1. 选中要处理的数据范围,包括表头和数据部分。 2. 切换到"数据"选项卡,在"数据工具"组中单击...

    Labview一维数组删除重复项

    本教程将详细讲解如何在LabVIEW中使用一维数组删除重复项,以确保数组中的元素唯一。 首先,我们需要理解LabVIEW的基本操作。LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是一种图形化编程语言...

    labview写的删除数组中重复项

    labview写的删除数组中重复项,数组没有重复,保持唯一性

    excel中删除重复数据

    2. **使用“数据”选项卡中的“删除重复项”功能**: - 在Excel菜单栏中找到并点击“数据”选项卡。 - 在“数据工具”组中点击“删除重复项”按钮。 - 在弹出的对话框中选择需要检查重复数据的列,如果整个数据...

    Excel 2013——删除重复项.pdf

    这种情况下,使用Excel 2013的“删除重复项”功能可以快速清理这些重复数据。具体操作步骤如下: 1. 首先,将光标置于需要处理的 数据清单 内的任意单元格。 2. 接着,转到功能区的 “数据” 选项卡,找到 数据工具...

    mysql优化小技巧之去除重复项实现方法分析【百万级数据】

    本文实例讲述了mysql优化小技巧之去除重复项实现方法。分享给大家供大家参考,具体如下: 说到这个去重,脑仁不禁得一疼,尤其是出具量比较大的时候。毕竟咱不是专业的DB,所以嘞,只能自己弄一下适合自己去重方法了...

    计算机应用 (引例)7_删除重复项.docx

    Excel 2013 是 Microsoft Office 套件中的一个强大电子表格程序,它提供了丰富的数据处理功能,包括删除重复项。本知识点主要围绕如何在 Excel 2013 中有效地删除重复的数据进行详细阐述。 1. **打开与查看工作簿**...

    Pandas之drop_duplicates:去除重复项方法

    方法 DataFrame.drop_duplicates(subset=None, keep='first', inplace=False) 参数 这个drop_duplicate方法是对DataFrame格式的数据,去除特定列下面的重复...删除重复项并保留第一次出现的项 inplace : boolean, de

    易语言利用易语言数据结构去除重复项源码.rar

    易语言利用易语言数据结构去除重复项源码.rar 易语言利用易语言数据结构去除重复项源码.rar 易语言利用易语言数据结构去除重复项源码.rar 易语言利用易语言数据结构去除重复项源码.rar 易语言利用易语言数据结构...

    易语言源码利用易语言数据结构去除重复项源码.rar

    下面将详细介绍这些数据结构以及如何利用它们去除重复项。 1. **数组**:数组是最基础的数据结构,它是一系列相同类型的数据元素的有序集合。在易语言中,数组可以通过索引来访问每个元素,但数组一旦创建,其大小...

    JavaScript合并两个数组并去除重复项的方法

    这里使用了`Array.prototype.splice()`方法来删除重复项: ```javascript Array.prototype.unique = function() { var a = this.concat(); for (var i = 0; i ; i++) { for (var j = i + 1; j ; j++) { if (a[i...

    利用易语言数据结构去除重复项源码.7z

    在这个"利用易语言数据结构去除重复项源码"的项目中,重点可能在于如何利用集合或列表来去重,因为这两种数据结构在去重问题上经常被用到。 1. **数组**:数组是最基本的数据结构,它是一组相同类型的元素序列。...

    如何在Excel2021中快速删除重复数据项.docx

    首先,选择需要删除重复项的所有单元格,然后在工具栏中选择“数据”选项卡,在“排序与筛选”区中单击“删除重复项”按钮。在“删除重复项”对话框中,选择要检查的字段,然后单击“确定”按钮,多余的重复项将被...

    Java数组排序并删除重复项

    JAVA代码实现:用冒泡法将数组进行排序显示,并将删除重复项之后的新数组进行输出

    二维数组去除重复项

    3. **重构数组**:利用`array_unique()`函数去除`$temp`数组中的重复字符串,得到没有重复项的数组。然后再次遍历这个数组,根据`$stkeep`和`$ndformat`的值决定是否恢复原始的键名和子数组的键名。最后,将结果存储...

    利用易语言数据结构去除重复项源码

    总之,利用易语言去除重复项的核心在于选择合适的数据结构和算法,根据具体需求平衡时间和空间复杂度。在易语言中,这可以通过哈希表、排序、集合模拟或者双指针等方法实现。通过阅读源代码,我们可以深入理解作者是...

Global site tag (gtag.js) - Google Analytics