您的位置:首页 > 编程语言 > Java开发

List删除重复元素

2014-09-29 11:19 411 查看
/**
* 删除列表中的重复元素
* 如果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);

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