除去Vector中重复的值?
同事问我个问题,想把Vector中重复的值给去掉。
他自己写了个方法,用循环加比较一个个检查,并且写错了也检查不出错误在哪。
我换了个思路,给他写了一个:
Vector v=new Vector();
v.add("123");
v.add("456");
v.add("123");
HashMap h=new HashMap();
for(int i=0;i<v.size();i++)
h.put(v.get(i),v.get(i));
Collection c=h.values();
我用了HashMap的一个特性,把相同的值给去掉了。最终c的值应该是{[123],[456]}
因为在HashMap里的索引和值都放了相同的值。因此我觉得数据多的话是不是会很低效。
不知道哪位牛人有更好的实现方法,请指教之!谢谢!