//各种集合(List Set Map) 去除重复项
import java.text.CollationKey;
import java.text.Collator;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Comparator;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Hashtable;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;
import java.util.TreeSet;
public class MaterialComparator implements Comparator {
Collator collator = Collator.getInstance();
public int compare(Object element1, Object element2) {
CollationKey key1 = collator.getCollationKey(element1.toString());
CollationKey key2 = collator.getCollationKey(element2.toString());
return key1.compareTo(key2);
}
public static void main(String[] args) {
//TreeMap 处理 处理后 得到的值 按拼音排序
TreeMap map = new TreeMap(new MaterialComparator());
map.put("东莞", "东莞");
map.put("北京", "北京");
map.put("东莞", "东莞");
map.put("北京", "北京");
map.put("上海", "上海");
map.put("北京", "北京");
map.put("上海", "上海");
Collection col = map.values();
Iterator it = col.iterator();
while (it.hasNext()) {
System.out.println(it.next());
}
//HashMap 输出随机
Map m = new HashMap();
m.put("东莞", "东莞");
m.put("北京", "北京");
m.put("东莞", "东莞");
m.put("北京", "北京");
m.put("上海", "上海");
m.put("北京", "北京");
m.put("上海", "上海");
for(Object o : m.keySet()){
System.out.println("HashMap 输出随机*"+m.get(o));
}
//只有手动处理 按输入顺序 输出
List list = new ArrayList();
List list1 = new ArrayList();
list.add("东莞");
list.add("北京");
list.add("东莞");
list.add("北京");
list.add("上海");
list.add("北京");
list.add("上海");
for(int i=0;i<list.size();i++){
for(int y=i+1;y<list.size();y++){
if(list.get(i)==list.get(y)){
list.remove(y);
}
}
}
for(int j=0;j<list.size();j++){
System.out.println("list1"+list.get(j));
}
// TreeSet去掉重复 随机输出
TreeSet set = new TreeSet();
set.add("东莞");
set.add("北京");
set.add("东莞");
set.add("北京");
set.add("上海");
set.add("北京");
set.add("上海");
List listset = new ArrayList(set);
for(int i=0;i<listset.size();i++){
System.out.println("set"+listset.get(i));
}
// Hashtable 去掉重复 得到结果 {东莞=东莞, 北京=北京, 上海=上海}
ArrayList listha = new ArrayList();
listha.add("东莞");
listha.add("北京");
listha.add("东莞");
listha.add("北京");
listha.add("上海");
listha.add("北京");
listha.add("上海");
Iterator it1 = list.iterator();
Hashtable ht = new Hashtable();
while(it1.hasNext()){
Object obj = it1.next();
ht.put(obj, obj);
System.out.println("Hashtable 去掉重复"+ht);
}
}
}