精华内容
下载资源
问答
  • 如何去除ArrayList中重复对象? 1.去除重复字符串 去重方法 private ArrayList getList(List list){ ArrayList newList=new ArrayList(); Iterator iterator=list.iterator(); //如果已知数组中还有元素 while ...

    如何去除ArrayList中的重复对象?

    1.去除重复字符串

    去重方法

    private ArrayList getList(List list){
    ArrayList newList=new ArrayList();
    Iterator iterator=list.iterator();
    //如果已知数组中还有元素
    while (iterator.hasNext()){
    //newList中不包括该元素,那么就将该元素放进去
    Object o = iterator.next();
    if (!newList.contains(o))
    newList.add(o);
    }
    return newList;
    }

    测试

    @Test
    public void test(){
    List nowList=new ArrayList();
    nowList.add(“鲁班”);
    nowList.add(“鲁班”);
    nowList.add(“后裔”);
    //去重前
    System.out.println(“去重前的数组------”+nowList);
    //去重后
    System.out.println(“去重后的数组------”+this.getList(nowList));
    }

    运行结果

    在这里插入图片描述

    2.去除用户自定义对象

    我们发现在去除重复的自定义对象时,此方法无法做到:

    @Test
    public void test1(){
    List nowList=new ArrayList();
    nowList.add(new Hero(10,“鲁班”));
    nowList.add(new Hero(10,“鲁班”));
    nowList.add(new Hero(15,“后裔”));
    //去重前
    System.out.println(“去重前的数组------”+nowList);
    //去重后
    System.out.println(“去重后的数组------”+this.getList(nowList));
    }

    运行结果

    在这里插入图片描述

    这时候我们发现元素无法正常去重了,是因为contains方法底层是用的Object中的equals()方法进行比较
    在这里插入图片描述
    而equals()比较的是两个对象的引用地址,显然每次new People()时会创建不同的对象, 而二者在栈中的引用地址是不同的。
    所以此时我们需要重写所要比较对象的equals方法

    重写Hero的equals方法(未考虑属性值为空的情况)

    @Override
    public boolean equals(Object obj) {
    //如果obj不为空而且该obj的类型和这个类的类型相同
    if (obj!=null&&obj.getClass()==this.getClass()){
    try {
    //使用反射获取对象的所有属性
    Field[] fields = obj.getClass().getDeclaredFields();
    //循环获得每个属性的值然后进行比较,
    // 只有在每个属性值都相等的时候返回true
    for (Field field : fields) {
    field.setAccessible(true);//设置私有变量的可见性
    Object object1 = field.get(this);
    Object object2 = field.get(obj);
    //一旦有一个属性值不相等就返回false
    if (!object1.equals(object2)){
    return false;
    }
    }
    return true;
    } catch (Exception e) {
    e.printStackTrace();
    }
    }
    return false;
    }

    测试结果

    在这里插入图片描述

    展开全文
  • sql语句如何去除重复的数据

    万次阅读 2018-10-18 16:07:44
    1.存在两条完全相同的纪录 这是最简单的一种情况,用关键字distinct就可以去掉 example: select distinct * from table(表名) where (条件) 2.存在部分字段相同的纪录(有主键id即唯一键) 如果是这种情况的话用...

    有重复数据主要有一下几种情况:
    1.存在两条完全相同的纪录
    这是最简单的一种情况,用关键字distinct就可以去掉
    example: select distinct * from table(表名) where (条件)

    2.存在部分字段相同的纪录(有主键id即唯一键)
    如果是这种情况的话用distinct是过滤不了的,这就要用到主键id的唯一性特点及group by分组
    example:
    select * from table where id in (select max(id) from table group by [去除重复的字段名列表,…])

    3.没有唯一键ID
    这种情况我觉得最复杂,目前我只会一种方法,有那位知道其他方法的可以留言,交流一下:
    example:
    select identity(int1,1) as id,* into newtable(临时表) from table
    select * from newtable where id in (select max(id) from newtable group by [去除重复的字段名列表,…])
    drop table newtable

    展开全文
  • 查询重复记录: SELECT t.id, t.item_id FROM eco_tb_item_info t INNER JOIN (SELECT item_id FROM eco_tb_item_info GROUP BY item_id ...HAVING COUNT(id) > 1) dup ...删除,只需要把你这张表当成两张表

    查询重复记录:

    SELECT t.id, t.item_id
    FROM eco_tb_item_info t
    INNER JOIN (SELECT item_id
    FROM eco_tb_item_info
    GROUP BY item_id
    HAVING COUNT(id) > 1) dup
    ON t.item_id = dup.item_id

    删除,只需要把你这张表当成两张表来处理就行了。

    DELETE p1 from eco_tb_item_info  p1, eco_tb_item_info p2 WHERE p1.item_id= p2.item_id AND p1.id > p2.id;


    展开全文
  • 比如A列中有10000个数据,而B列中有400个,B列里的某些数据跟A列里数据一样,现在想要在A列里剔除和B列里相同的数据 A:1 5 6 9 8 10 7 B:2 3 5 6 9 7 得出的C为 c:1 8 10
  • 对于java中如何去除重复的数据

    千次阅读 2016-07-31 14:03:16
     b) 由于程序的的原因、好来发现表中有许多理论上重复的数据(即姓名、和身份证号相同的数据), 现在需求是把这些重复的数据给删掉。  思路:  1) 通过 姓名和身份证号分组的sql去掉重复的数据。...


    场景:

      a)假设现在数据库中有一个人员表(user),表中包括 主键ID,,姓名、身份证号码、等字段。

       b) 由于程序的的原因、好来发现表中有许多理论上重复的数据(即姓名、和身份证号相同的数据), 现在需求是把这些重复的数据给删掉。


     思路:

              1) 通过  姓名和身份证号分组的sql去掉重复的数据。select Max(ID) as Id,姓名,身份证号 from User group by 姓名,身份证号, 得到得到一份没有重复姓名和身份证号的一组数据

              2)我们只要得到没有重复数据的id就可以找出所有的并且不重复的数据了,使用嵌套的查询 得到所有的不重复数据的Id

          select Id  from (select Max(ID) as Id,姓名,身份证号 from User group by 姓名,身份证号) as t
             3)然后使用临时表, 将不重复的数据放到临时表。 删除正式表的所有的数据, 然后将临时表的数据插入到正式表, 最后删除临时表。

        a找出所有不重复的数据
    
           select * into #temp1  from user where id in (select Id from (select Max(ID) as Id,姓名,身份证号 from User group by 姓名,身份证号) as t );
    
      b,删除原表中的所有数据
    
          delete from user;
    
         c、将临时表中的数据在插入会user表
    
       insert into user  select * from #temp1;
    
         d,删除临时表
    
          drop #temp1;
    

        关键点:

       这里的关键是根据需要判断是否重复的字段分组后、使用聚合函数Max 或者Min得到唯一的ID,这一点十分重要。



      具体的sql实现:


     

    1.取出要留下的数据,本次依据重复项的最大id为保留项。

    SELECT id,name,age from person  
    WHERE id in( 
    SELECT MAX(id) from person GROUP BY name,age 
    ); 
    

    2.放入临时表

    <pre name="code" class="sql">DROP TABLE IF EXISTS temp1; 
    CREATE TEMPORARY TABLE temp1 SELECT id,name,age from person  
    WHERE id in( 
    SELECT MAX(id) from person GROUP BY name,age 
    ); 
    


    
    

    3.清空原表并从临时表注入
    TRUNCATE person; 
    INSERT INTO person SELECT * from temp1; 
    DROP TABLE if EXISTS temp1; 
    SELECT * from person; 
    

    当然也可以直接delete:

     DELETE from person WHERE id not in ( 
        SELECT mid FROM( 
            SELECT MAX(id) mid from person GROUP BY name,age 
        ) t  
    ) 
    





    So do it,and change it,no regret!
















    展开全文
  • hive 如何去除两个表相同的部分

    千次阅读 2018-05-22 10:33:42
    而这次是需要去除同一个表两部分数据的相同部分。 解决思路 将同一个表两部分数据分别抽离出来做一个表,使用left outer join来关联两个表,然后将相同字段条件放在on里面,然后将另一个表的相同字段为空...
  • 此时我们就需要使用distinct关键字,这个关键字在查询的时候会帮助我们自动过滤具有相同属性的数据,如:select count(distinct SM_ID) from DUAL此时我们在统计SM_ID的数量时,将会对相同的SM_ID的数据进行过滤,只...
  • var str1="0|1|2|3|4|5|6|7|"; var str2="7|6|5|4|3|2|1|0|"; var a=new Array(); var b=new Array(); a=str1.split("|"); b=str2.split("|"); for(var i=0;i<a.length;i++){ for(var j=0;...}
  • 我们可以用关键字Distinct去掉结果...设想我们想把数据表Tb_Blogs中字段BlogUrl有重复值的数据多余的行删掉(有相同的BlogUrl的数据只保留一行),那么我们可以这样做: select * into #temp1 from Tb_Blogs whe...
  • 原因:二级权限带有一个三级权限,但具有了相同的二级权限,所以未能正常显示 解决:去除List中重复的权限数据 方式: 参考资料:[url]http://bbs.csdn.net/topics/390247210[/url] 1.List [code=&...
  • 如何通过mysql去除重复数据

    千次阅读 2017-04-03 22:20:37
    DELETE FROM orginal WHERE id NOT IN (SELECT tab.id FROM  ...这里面第一个关键点是如何确定哪些数据是重复呢?这里通过 group by name,age 来确定。只要同时满足这两个条件,就可以归为相同
  • matlab中去除矩阵中相同的

    千次阅读 2015-09-12 18:31:25
    最近一直在研究电路故障分析,在电路波形中提取到了一些数据,由于样本数据很多,因此也就有很多重复的,我们需要将这些数据应用到支持向量机进行分类模型的建立,为避免相同的数据在模型的建立中没有起到任何的...
  • Mysql去除重复数据

    千次阅读 2018-09-17 17:12:10
    最近工作业务上遇到需要去除重复数据,所以了解了一下如何去除某属性相同的数据! 1:查询出重复数据 以用户表user为例,我们需要去除login_name重复的数据,那么我们首先需要查询一下哪些数据是重复的。 sql如下...
  • 在EXCEL数据文件中,如果按某几个列值比较,值都相等几行称为重复行,那么怎么删除多余重复行,只留下一行? 如果数据少,只有几十行数据,那么...而且因为EXCEL文件格式不相同,要比较字段不同,编写程序并
  • 首先将是比较列"2014基药编码"列数据粘贴到Sheet2中,去除重复项,完成之后sheet2效果如下: 将sheet1 表第一列插入一个新列命名为“分组号” ,在A2 单元格中输入条件公式:=VLOOKUP(G...
  • 数组是C++语言重要的数据结构,对它的一些基本操作要熟练掌握。那么,今天我们就来讨论,怎么去除数组中重复的数字? 案例 题目描述 给你N个数(n),每个数都在(0~1000)之间,其中由很多重复的数字,请将重复的...
  • 同一学生的相同科目只能有一条成绩记录,但是现在路两次成绩便会有两条记录。 select * from (select jxb.jxbbh,--教学班代码 jbxx.xh,--学号 jbxx.xsbh,--学生编号 jbxx.xm,--姓名 jbxx.sfzjh,--身份证件号 ...
  • 有个A表 订单号 入住人 1 张1 1 王1 2 张2 3 张3 有个B表 订单号 入住房间号 ...两个表的订单号是相同的 现在想得到表 订单号 入住人 房间号 1 张1 201 1 王1 202 2 张2 null 3 张3 null 请问改如何
  • sql去除重复数据

    2012-08-31 14:31:33
    在几千条记录里,存在着些相同的记录,如何能用SQL语句,删除掉重复的呢 1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 select * from people where peopleId in (select peopleId from ...
  • 然后根据No,Pass相同的数据,保留Max(ID)数据,删除其他,如何做? 我是这么做的,不知道行不行 delete Min(ID),CAST(No AS VARCHAR)+CAST(Pass AS VARCHAR) from Table group by No, Pass having count(*) > 1
  • 如何用item pipeline(管道)清洗数据

    千次阅读 2018-08-05 09:25:21
    Item Pipeline是处理数据的组件,一个Item Pipeline是一个包含特定接口的类,...接着上文《如何使用scrapy的item来封装数据》,我现在需要实现额外的三个处理——将价格的单位英镑转换为人民币、去除掉书名相同的...
  • Excel批量导入如何数据去重

    千次阅读 热门讨论 2015-12-12 15:27:48
    数据量总是离不开数据去重,去重分为几种类型,有些是部分字段相同,有些是全部字段相同,那么应该如何做到高效去除重复呢?  小编在这里简单介绍两种去重方式,一种是Sql语句去重,一种是Linq语句去重,其实...
  • 这两个函数的实现方法大体上是相同的,但是这样的话,当调用主函数的时候,就要先调用一次爬取第一页的函数,再使用for循环执行下一页的爬取。那么有没有什么办法可以一次性对商品信息进行抓取呢? 改
  • 今天用Excel导入的数据中,前面包含` 批量去除 UPDATE sheet2 set total=replace(total,'`',''); 转载于:https://www.cnblogs.com/baby123/p/5179495.html
  • SQL筛选重复数据

    2019-09-20 17:03:11
    在《SQL去除重复数据》一文中我们讲了如何去除重复数据,在工作中我们有时还需要筛选重复的数据,进行进一步比对。如下表,我们要筛选出“姓名”相同的数据。 id name score 1 ...

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 131
精华内容 52
关键字:

如何去除相同的数据