當前位置:編程學習大全網 - 網站源碼 - 求大神會java的hashmap的問題:如何刪掉Map中重復的值?

求大神會java的hashmap的問題:如何刪掉Map中重復的值?

import?java.util.HashSet;

import?java.util.Iterator;

import?java.util.Map;

import?java.util.Map.Entry;

import?java.util.Set;

import?org.apache.commons.collections4.map.LinkedMap;

public?class?Test030?{

/**

*?@param?args

*/

public?static?void?main(String[]?args)?{

//?TODO?Auto-generated?method?stub

Map<String,?String>?m?=?new?LinkedMap<String,?String>();

m.put("1",?"abc");

m.put("2",?"abc");

m.put("3",?"kjs");

m.put("4",?"abc");

m.put("5",?"kjs");

System.out.println("before:?"?+?m);

removeDuplicate(m);

System.out.println("after:?"?+?m);

}

private?static?void?removeDuplicate(Map<String,?String>?m)?{

Set<String>?values?=?new?HashSet<String>();

for?(Iterator<Entry<String,?String>>?it?=?m.entrySet().iterator();?it

.hasNext();)?{

Entry<String,?String>?e?=?it.next();

if(values.contains(e.getValue())){

it.remove();

}else{

values.add(e.getValue());

}

}

}

}

寫的時候沒有註意, 如果jdk中沒有linkedMap, 那麽請引入commons的collections包

主要是HashMap不保證順序

  • 上一篇:linux關機命令
  • 下一篇:肽臻選APP是傳銷嗎
  • copyright 2024編程學習大全網