/**
* 删除列表中的重复元素
* 如果list中存储的是person对象List<person>,要删除掉person中姓名重复的person,下面这个方法就不能用了
* @param <T>
* @param list
* @return
*/
public <T> List<T> removeSameItem(List<T> list){
List<T> temp = new ArrayList<T>();
for (T t : list) {
if(t!=null && !temp.contains(t)){
temp.add(t);
}
}
return temp;
}
上面这个方法利用泛型,删除List中的重复元素,前提是list中存储的是基本数据类型或其封装类
但对于List中存储的是对象类型就不行了
/**
* 测试删除重复元素
*/
@Test
public void test1(){
List<String> list = new ArrayList<String>();
Collections.addAll(list, "a","b","c","d","a","b","f","a","z");
System.out.println(list);
System.out.println(removeSameItem(list));
//删除重复元素
/**
* 利用变量来删除重复元素,对于集合中存储的是对象,也可以根据对象的特征做对应的删除
*/
for (int i = 0; i < list.size(); i++) {
for(int j=list.size()-1;j>i;j--){
if(list.get(i).equals(list.get(j))){
list.remove(j);
}
}
}
System.out.println(list);
}