您的位置:首页 > 移动开发 > Android开发

List集合筛选数据去掉重复,含有数据重复次数(JAVAAndroid)

2014-05-15 11:26 489 查看
环境背景:
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

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: