您的位置:首页 > 其它

去除list里面的重复数组的性能比较

2016-07-09 15:10 417 查看
我的个天哪,重新看了一下自己之前写的代码,简单的代码风格都没有,变量名不清楚,甚至变量之间都没有空格,代码质量及其不规范。。。。
常见的去除list里面的重复数组方式是一次遍历:
public static List<Student> getNewNamelist(List<Student> oldlist,
List<Student> newlist) {
int k = 0;// 记录比较次数
ArrayList<String> tempString = new ArrayList<String>();
for (Student i : oldlist) {
if (!newlist.contains(i)
&& tempString.contains(i.getAge()) == false) {
newlist.add(i);
tempString.add("" + i.getAge());
}
k++;
}
System.out.println("我比较了" + k + "次");
return newlist;
}鉴于list和set之间的区别,考虑重写对象的hashcode和equals方法,一次遍历赋值,避免了list的contains操作public static HashSet<Student> getNewNamelist(List<Student> oldlist) {
HashSet<Student> setResult = new HashSet<Student>();
for (Student student : oldlist) {
setResult.add(student);
}
//setResult.addAll(oldlist);
return setResult;
}嗯嗯,感觉富文本的样式好多了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: