在项目过程中, 有时候用Hashset 获取值很方便 ,可以直接去重,但是顺序会改变,所有需要有HashMap或者LinkedHashMap来取值,但是又会出现重复数据,所以需要去重。方法比较简单 直接用 ArrayList list = new ArrayList(); 先将值放到list中 再将list的值放到另外一个LinkedHashMap中。代码如下
sickClassSet = new LinkedHashMap<Integer,String>();
sickClassSetOne = new LinkedHashMap<Integer,String>();
ArrayList list = new ArrayList();
//去掉sickClassSetOne 中的重复数据到list
for(int num = 0; num <sickClassSetOne.size();num++){
if (!list.contains(sickClassSetOne.get(num))){
list.add(sickClassSetOne.get(num));
}
}
for (int t = 0;t<list.size();t++){
Log.i("msg","msg"+list.get(t));
sickClassSet.put(t,list.get(t).toString());
}
其中sickClassSetOne 中的数据是重复的 通过list的去重后再给sickClassSet 就没有重复数据了