去除List中的重复值

 

已经从某处引用或者获得了List<String>类型的值,需要去除重复

 

方法一:效率高

 

List<String> listShare = new LinkedList<String>();
listShare.add("aa");
listShare.add("bb");
listShare.add("bb");
listShare.add("aa");
listShare.add("cc");
ArrayList<String> newst= new ArrayList<String>(new             LinkedHashSet<String>(listShare));//不改变之前顺序
for(String ll : newst){
System.out.println(ll);
}

 

 

方法二:效率低

 

List<String> listShare = new LinkedList<String>();
listShare.add("aa");
listShare.add("bb");
listShare.add("bb");
listShare.add("aa");
listShare.add("cc");
Set<Object> set = new HashSet<Object>();
List<Object> newList = new ArrayList<Object>();
for (Iterator<String> iter = listShare.iterator(); iter.hasNext();) {
Object element = iter.next();
if (set.add(element))
newList.add(element);
}
for(Object ll : newList){
System.out.println(ll);
}