精华内容
下载资源
问答
  • 在实际开发中,经常会遇到需要找出(删除)一个list中某些元素的属性相同的元素,或者两个list中某些元素的属性相等的元素,这种方法很多,这里整理列出一些: 废话不说,上代码,有注释掉的你们自己看import java....

    在实际开发中,经常会遇到需要找出(删除)一个list中某些元素的属性相同的元素,或者两个list中某些元素的属性相等的元素,这种方法很多,这里整理列出一些:
    废话不说,上代码,有注释掉的你们自己看

    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    
    public class Test {
    	public static void main(String[] args) {
    		List<Student> testList = new ArrayList<Student>();
    		testList.add(new Student("张一"));
    		testList.add(new Student("张二"));
    		testList.add(new Student("张三"));
    		testList.add(new Student("老王"));
    		testList.add(new Student("张四"));
    		testList.add(new Student("张五"));
    		testList.add(new Student("张六"));
    		testList.add(new Student("张七"));
    		testList.add(new Student("老王"));
    		testList.add(new Student("张八"));
    		testList.add(new Student("张九"));
    		testList.add(new Student("老王"));
    
    		List<Student> repeatList = new ArrayList<Student>();//用于存放重复的元素的list
    
    		// 以一种方法:两个循环(最蠢的方法)
    		for (int i = 0; i < testList.size() - 1; i++) {
    			for (int j = testList.size() - 1; j > i; j--) {
    				if (testList.get(j).getStuName().equals(testList.get(i).getStuName())) {
    					repeatList.add(testList.get(j));//把相同元素加入list(找出相同的)
    		
    					testList.remove(j);//删除重复元素
    				}
    			}
    		}
    //		for(Student s : repeatList){
    //			System.out.println("相同的元素:" + s.getStuName());
    //		}
    		
    		
    		//第二种方法:利用map.containsKey()
    		Map<String, Integer> map = new HashMap<>(); 
    		for(Student s : testList){
    			//1:map.containsKey()   检测key是否重复
    			if(map.containsKey(s.getStuName())){
    				repeatList.add(s);//获取重复的学生名称
    				
    				Integer num = map.get(s.getStuName());
    				map.put(s.getStuName(), num+1);
    			}else{
    				map.put(s.getStuName(), 1);
    			}
    			//2: 这个key是不是存在对应的value(key是否在map中)
    //			Integer count = map.get(s.getStuName());//这种写法也可以,异曲同工
    //          if (count == null) {
    //              map.put(s.getStuName(), 1);
    //          } else {
    //              map.put(s.getStuName(), (count + 1));
    //          }
    		}
    //		for(Student s : repeatList){
    //			System.out.println("相同的元素:" + s.getStuName());
    //		}
    //		for(Map.Entry<String, Integer> entry : map.entrySet()){
    //			System.out.println("学生:" + entry.getKey() + "的名字出现了:" + entry.getValue() + "次");
    //		}
    		
    		
    		//第三种方法:contains()方法  这个个人认为有一定的局限性,个人理解哈
            List<Integer> repeatList1 = new ArrayList<>();  
            List<Integer> list = new ArrayList<>();  
            list.add(1);
            list.add(2);
            list.add(1);
            list.add(3);
            list.add(4);
            list.add(1);
            list.add(5);
            for(int i=0;i<list.size();i++){  
                if(!repeatList1.contains(list.get(i))){  
                	repeatList1.add(list.get(i));  
                }  
            } 
            for(Integer s : repeatList1){
    			System.out.println(s);
    		}
    	}
    }
    
    

    Student类:

    public class Student {
    	
    	public Student(String stuName){
    		this.stuName = stuName;
    	}
    	
    	private String 	stuName;
    
    	public String getStuName() {
    		return stuName;
    	}
    
    	public void setStuName(String stuName) {
    		this.stuName = stuName;
    	}
    	
    }
    

    这个是java8的stream,由于我用的还是jdk7 这里就找了一个 给你们当例子看,有兴趣可以看stream相关的知识,很强大的功能

    List<String> list = Arrays.asList("123", "1234", "12345", "123456", "1234567", "122222223", "123", "1234", "2422");
    Map<String, Long> collect = list.stream().collect(Collectors.groupingBy(Function.identity(), Collectors.counting()));
    System.out.println(collect);
    

    就列出这么几种,应该够用了
    原创:影公子 ——转载请注明原帖链接

    展开全文
  • 查找重复数据sql(思路就是根据需要判断重复数据的字段分组,根据having大于2的就是重复的) --查找某表重复数据 select BUSS_TYPE_ID, BUSS_TYPE, TRADE_VARIETY_ID, TRADE_VARIETY, TRADE_SUBVARIETY_ID, ...

    查找重复数据sql(思路就是根据需要判断重复数据的字段分组,根据having大于2的就是重复的)

    --查找某表重复数据
    select BUSS_TYPE_ID,
             BUSS_TYPE,
             TRADE_VARIETY_ID,
             TRADE_VARIETY,
             TRADE_SUBVARIETY_ID,
             TRADE_SUBVARIETY,
             TRADE_CODE,
             TRADE_OBJECT,
             count(id)
        from T_RPT_BUSINESS_STRUCTURE
        where jys_id=6
       group by BUSS_TYPE_ID,
                BUSS_TYPE,
                TRADE_VARIETY_ID,
                TRADE_VARIETY,
                TRADE_SUBVARIETY_ID,
                TRADE_SUBVARIETY,
                TRADE_CODE,
                TRADE_OBJECT
           having count(id) >= 2;

     删除重复数据的sql

           
    delete from T_RPT_BUSINESS_STRUCTURE where 
           (BUSS_TYPE_ID,
             BUSS_TYPE,
             TRADE_VARIETY_ID,
             TRADE_VARIETY,
             TRADE_SUBVARIETY_ID,
             TRADE_SUBVARIETY,
             TRADE_CODE,
             TRADE_OBJECT)
       in(
             select BUSS_TYPE_ID,
             BUSS_TYPE,
             TRADE_VARIETY_ID,
             TRADE_VARIETY,
             TRADE_SUBVARIETY_ID,
             TRADE_SUBVARIETY,
             TRADE_CODE,
             TRADE_OBJECT
            from T_RPT_BUSINESS_STRUCTURE
           group by BUSS_TYPE_ID,
                    BUSS_TYPE,
                    TRADE_VARIETY_ID,
                    TRADE_VARIETY,
                    TRADE_SUBVARIETY_ID,
                    TRADE_SUBVARIETY,
                    TRADE_CODE,
                    TRADE_OBJECT
               having count(id) >= 2
       ) and 
                    id not in (
                       select min(id)
                      from T_RPT_BUSINESS_STRUCTURE
                     group by BUSS_TYPE_ID,
                              BUSS_TYPE,
                              TRADE_VARIETY_ID,
                              TRADE_VARIETY,
                              TRADE_SUBVARIETY_ID,
                              TRADE_SUBVARIETY,
                              TRADE_CODE,
                              TRADE_OBJECT
                         having count(id) >= 2
                    )
    

     

     

     

     

     

     

     

     

     

    展开全文
  • 螺丝刀数据重复查找软件可筛选出来名字重复数据,让你在整理数据中筛选重复的名字,软件使用简单、轻松便捷,有需要的朋友赶紧下载吧!螺丝刀数据重复查找软件使用方法:
  • 在处理数据时,总共有两千多条数据,其中有重复数据,怎么用数据透视表的功能查找出重复数据
  • Mysql中查找重复数据,删除重复数据 http://www.cnblogs.com/consatan/archive/2010/12/17/1909087.html

    Mysql中查找重复数据,删除重复数据

    http://www.cnblogs.com/consatan/archive/2010/12/17/1909087.html

    展开全文
  • 如何查找重复数据的复杂示例2(07)
  • Excel怎样查找删除重复数据     由于重复输入或粘贴等原因,Excel 2007工作表往往存在重复的数据或记录。如果工作表的规模比较大,手工查找和删除重复数据很难做到“完全彻底”。不过这个问题对Excel ...

    Excel怎样查找删除重复数据

     

     

    由于重复输入或粘贴等原因,Excel 2007工作表往往存在重复的数据或记录。如果工作表的规模比较大,手工查找和删除重复数据很难做到“完全彻底”。不过这个问题对Excel 2007来说则是“小菜一碟”,因为它的几个新功能可以轻松解决这类问题。

    步骤/方法

    1. 1
      1、标识重复数据
         打开工作表,选中可能存在重复数据或记录的区域。单击“开始”选项卡中的“条件格式”打开菜单,在“突出显示单元格规则”子菜单下选择“重复值”,打开 如图1所示对话框。在左边的下拉列表中选择“重复”,在“设置为”下拉列表中选择需要设置的格式(例如“绿填充色深绿色文本”),就可以在选中区域看到标 识 重复值的效果,单击“确定”按钮正式应用这种效果。
        
        图1 对“重复值”选项卡进行设置
    2. 2
      2、筛选重复数据
         如果需要进一步识别并删除重复数据,可以根据上面的标识结果将数据筛选出来:选中按上述方法标识了重 复数据的待筛选区域,单击“数据”选项卡中的“筛选”按钮,使筛选区域首行的各单元格显示下拉按钮。接着单击某个下拉按钮打开菜单,选择“按颜色筛选”子 菜单中的“按字体颜色排序”,即可将存在重复数据或记录的行筛选出来,这时就可以查看并手工删除重复数据了。
    3. 3
      3.自动删除重复数据
         Excel 2007提供了名为“删除重复项”的功能,它可以快速删除工作表中的重复数据,具体操作方法是:选中可能存在重复数据或记录的区域,单击“数据”选项卡中 的“删除重复项”按钮,打开如图2所示对话框。如果需要保留若干完全相同记录中的一条,然后将剩余的相同记录全部删除,必须将如图2中的列标题全部选中, 点击“确定”后,会弹出对话框显示删除结果。
        
        图2 对“删除重复项”进行勾选
        如果记录中有一列(或几列)存在相同数据,想保留一条记录并删除剩余记录,请将这些列在如图2中的列标题(例如“地址”)或列标(例如“E”)选中,“确定”后就会保留一条记录并将多余的全部删除(如图3)。
    展开全文
  • Excel两列数据对比,找出重复数据

    万次阅读 2020-02-22 00:38:06
    找到“数据”,在“数据对比”下,不论是“标记重复数据”、“标记两区域相同数据”,还是“提取两区域相同数据”,都能得到我们想要的结果,只是最终展示方法不同罢了。 此方法唯一缺点:我不是WPS会员… T_T ...
  • 摘要:C#源码,数据库应用,重复记录 使用C#查找重复数据并显示记录,我觉得在一些较大的数据库应用中,这个功能就比较实用了,重复数据会使数据库变大,读取速度变慢,因此找出并删除这些记录是相当有用的。...
  • 前文 重复数据的情况分为两种: 单个字段 数据重复 多个字段 数据重复 所以该篇的内容就是包括 ...单个字段的重复数据查找 与 去重多个...要找出重复数据,我们首先想到的就是,既然是重复,那么数量就是大于 1...
  • 今天被问到了一个面试题,挺有意思的,这里特意的记录一下,问题是这样的:怎么从list中找出重复数据,以及这些重复数据的个数?  解决思路是:使用一个map,key用来记录list中的数据,value用来记录重复数据的...
  • sql查找重复数据

    2010-03-18 11:03:00
    1.查找重复数据表的id以及重复数据的条数 select max(id) as nid,count(id) as 重复条数 from tableName group by linkname Having Count(*) > 1 2.查找重复数据表的主键 select id from UsedCar_Articles where ...
  • python找出数据中的重复数据

    万次阅读 多人点赞 2019-02-28 14:20:51
    如果要找出哪些元素是重复的,可以用pandas库的dataframe数据结构,用drop_duplicates方法进行去重。原理是这样:drop_duplicates方法可以完全清除重复元素,比如[1, 2, 2, 3],经过drop_duplic...
  • 查找重复数据

    2011-04-15 18:40:00
    查找重复行:select * from sys_email_mst_temp a where (a.comp_code,a.dealer_group,a.email_type) in(select comp_code,dealer_group,email_type from sys_email_mst_temp group by comp_code,dealer_group,...
  • 可以查找多个重复数据中指定数据,如查找第二个重复数据
  • 当我们录入或者处理大量数据时,难免会遇到一些数据重复的问题,下面就教大家几种方法如何快速地找出数据中...利用数据透视表找出重复项打开数据表,选中所有数据,在“插入”菜单中找到“数据透视表”,点击即可建...
  • Java查找重复数据

    千次阅读 2015-05-21 11:25:28
    import java.util.ArrayList; import java.util.List; ... * 查找重复数据  *   * @author weisg  */ public class CheckList {    @SuppressWarnings("unchecked") public stat
  • 查找list中重复数据

    千次阅读 2016-08-31 15:45:36
    需求: 查找一个List集合中所有重复的数据,重复的数据...如果有重复数据,则给这些重复数据加上编号,上述数据改为:aa1, bb1, aa2, bb2, cc, dd.算法如下:public static void same(List<String> list) { String
  • Oracle数据库查找重复的数据与删除重复的数据 --选择重复的数据 select a.rowid,subject,grade_num from table2 a where (a.subject,a.grade_num...--方式一:删除重复数据,只剩一条,group by 的后面 + 重复字段 dele
  • EXCEL能不能自动识别出重复3个数字以上组数出来呢?比如第一组1-2-3-4-5-6。第二组7-8-9-10-11-12。第三组1-3-6-15-17-18。能不能自动识别1组合三组的1-3-6是相同的”【分析】首先感谢这位网友对我的信任,我简单翻译...
  • 希望你看完了,如果有心得或者好的方法能共享...------查找出重复数据 var obj = {}; var arr = [1,2,3,4,1,2,3,1,1,1,1]; for(var i=0;i obj[arr[i]] = (obj[arr[i]]||0)+1; } for(var o in obj){ if(ob
  • Delphi找出数据库重复数据..rar
  • 可以用于查找excel中的重复数据的方法
  • mysql找出重复数据的方法 select openid,count(openid) from yinjiatoupiao_info group by openid HAVING count(openid)>1 查看原文:http://newmiracle.cn/?p=2128
  • 主要介绍了java 查找list中重复数据实例详解的相关资料,需要的朋友可以参考下

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 739,821
精华内容 295,928
关键字:

怎样查找重复数据