环境背景: 1.开发Android IDE 2.服务端代码(IDE MyEclipse6.5) 3.下面这个方法是Webservices调用数据库获取数据List集合 4.数据库数据如下 Test(dsad) 方法是调用的关键代码 public void getmain(){ List<Hgztqk> dsad=Tkdao.hggetjtzt("历史", "2014-05-07 00:00:00", "2014-05-07 23:59:59"); Test(dsad); } public static void Test(List<Hgztqk> dsad){ //获取数据保存到集合 ArrayList<String> arr = new ArrayList<String>(); //中间变量 ArrayList<String> arrs = new ArrayList<String>(); //获得做题记录 String ztdall=""; //遍历数据 for (int i = 0; i < dsad.size(); i++) { //实体类 Hgztqk hg = dsad.get(i); //获得数据 String ztda= hg.getZtjlidall(); //截取 例如 前 :,14,5,8 后:14,5,8 ztda=ztda.substring(1,ztda.length()); //以‘,’分割 单个判断 String a[] = ztda.split(","); //小项分开 for(int y=0;y<a.length;y++){ //获取小项的一条数据 String item =a[y]; //打印输出测试 System.out.println(item+"单个值"+y); // 添加到中间集合 arr.add(item); } } //保存中间变量 arrs=arr; //执行删除重复 arr = (ArrayList<String>) getNewList(arr); //方法去重 //得到不重复数据,进行查看每一条数据重复次数 for(int i = 0; i < arr.size(); i++){ // arr.get(i)值 在arrs集合重复的次数 int agesd= Collections.frequency(arrs, arr.get(i)); //打印输出不重复的数字 含重复次数 System.out.println(arr.get(i)+"重复次数"+agesd); } //打印输出 不重复的数字 System.out.println(arr); } /** * 去除数据重复 * @param li 数据集合 * @return */ public static List<String> getNewList(List<String> li){ List<String> list = new ArrayList<String>(); //遍历数据集合 for(int i=0; i<li.size(); i++){ //得到数据 String str = li.get(i); //不重复 //查看新集合中是否有指定的元素,如果没有则加入 if(!list.contains(str)){ //添加数据 list.add(str); } } return list; //返回集合 } 打印输出台显示: 5单个值0 15单个值1 13单个值2 3单个值3 11单个值4 12单个值5 9单个值0 14单个值1 4单个值2 10单个值3 16单个值4 11单个值5 13单个值0 16单个值1 2单个值2 1单个值3 5单个值4 12单个值5 15单个值6 6单个值0 9单个值1 14单个值2 11单个值3 15单个值4 13单个值5 2单个值6 10单个值7 15单个值0 4单个值1 16单个值2 1单个值3 14单个值4 6单个值5 2单个值6 10单个值0 7单个值1 15单个值2 8单个值3 14单个值4 11单个值5 5重复次数2 15重复次数5 13重复次数3 3重复次数1 11重复次数4 12重复次数2 9重复次数2 14重复次数4 4重复次数2 10重复次数3 16重复次数3 2重复次数3 1重复次数2 6重复次数2 7重复次数1 8重复次数1 [5, 15, 13, 3, 11, 12, 9, 14, 4, 10, 16, 2, 1, 6, 7, 8]
感谢如下:
http://bbs.csdn.net/topics/390247210
http://bbs.csdn.net/topics/120025156
List集合筛选数据去掉重复,含有数据重复次数(JAVAAndroid)
最新推荐文章于 2024-04-16 06:56:34 发布