现在的位置: 首页 > 综合 > 正文

java 中 各种集合(List Set Map) 去除重复项

2017年11月29日 ⁄ 综合 ⁄ 共 2487字 ⁄ 字号 评论关闭

//各种集合(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);
    }
   
 }
}

抱歉!评论已关闭.