首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

用Java写算法技能(1)去掉List中的重复对象

2012-12-30 
用Java写算法技巧(1)去掉List中的重复对象最近写聚类算法,输入的数据集是一些二维点坐标,我的数据有很多重

用Java写算法技巧(1)去掉List中的重复对象

    最近写聚类算法,输入的数据集是一些二维点坐标,我的数据有很多重复的点,需要做一下预处理,去掉这些重复点。百度和谷歌一阵后,找到了解决方法,希望对阅读本文的人有帮助。

   1、 数据文件points.txt,文件内容和格式如下:
   
           用Java写算法技能(1)去掉List中的重复对象

   2、添加一个Point对象,用来保存点数据。最重要的是要实现equal方法,这个在去除重复对象时会用到。

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;}



    

热点排行