javamap去重
① 在java中,給出一個數組,裡面有重復的數字,要求將重復的數字去掉然後給新的數組進行排序
數組是沒有去重的函數的,你可以用set或者map來去重 ,如果你想要代碼,可以追問
② java map去重
map的key是不會重的,所以我就認為你是需要將value去重。
可以遍歷map,將value存入一個set中,然後遍歷時判斷是否已經存在於set。
③ JAVA:如何刪掉list裡面重復的Map
不知道你為什麼有這種變態需求。如果是作為學習訓練還情有可原,要是你是要實現一個什麼東西不得不這樣,那你就實在是實現的太搓了。用什麼不好,用這么多map,還用list來過濾。
算我無聊,這是代碼,clearList是方法,main是給你寫的一個測試用的例子
public class Test
{
public static void clearList(List<Map<String, String>> list)
{
if (list == null) return;
Set<String> set = new HashSet<String>();
for (Iterator<Map<String, String>> it = list.iterator(); it.hasNext();)
{
//裡面的map至少有一個元素,不然報錯
String value = it.next().entrySet().iterator().next().getValue();
if (set.contains(value))
{
it.remove();
}
else
{
set.add(value);
}
}
}
public static void main(String args[])
{
List<Map<String, String>> list = new ArrayList<Map<String, String>>();
Map<String, String> map1 = new HashMap<String, String>();
map1.put("1", "abc");
Map<String, String> map2 = new HashMap<String, String>();
map2.put("2", "abdc");
Map<String, String> map3 = new HashMap<String, String>();
map3.put("3", "abc");
list.add(map1);
list.add(map2);
list.add(map3);
clearList(list);
for (Iterator<Map<String, String>> it = list.iterator(); it.hasNext();)
{
String value = it.next().entrySet().iterator().next().getValue();
System.out.println(value);
}
}
}
④ java:如何刪掉list裡面的重復的map
public E remove(int index)
移除此列表中指定位置上的元素。向左移動所有後續元素(將其索引減 1)。
list.remove(1);
list.remove(2);
⑤ 求大神會java的hashmap的問題:如何刪掉Map中重復的值
importjava.util.HashSet;
importjava.util.Iterator;
importjava.util.Map;
importjava.util.Map.Entry;
importjava.util.Set;
importorg.apache.commons.collections4.map.LinkedMap;
publicclassTest030{
/**
*@paramargs
*/
publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
Map<String,String>m=newLinkedMap<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);
}
(Map<String,String>m){
Set<String>values=newHashSet<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不保證順序
⑥ java hashmap不去重嗎
它本身就是不能為重復的,不存在去重
還有什麼,可以接著問,望採納
⑦ JAVA中的List里的Map 如何去除重復的Key
「可以利用Map的key不重復特性: 遍歷List,遍歷過程中將List中取出的值作為key保存到一個臨時的Map中,Map的value可以自己隨意設定。 注意,在保存到Map之前,使用map.get("key")從Map中獲取對應是數據,判斷是否為null即可判斷該List中的值是否...」
⑧ JAVA數組去重問題
我這有個笨辦法供樓主參考:
把vector中元素都取出來放到一個數組中,
根據數據的實際情況,
選擇不同的時間復雜度為log2N的排序演算法進行排序,
然後新建一個鏈表,
結點為保存數據和頻率的類,
遍歷排序後的數組,
如果鏈表的尾結點與數組中當前元素相同,
將尾結點的頻率加1,
否則append一個頻率為1的結點,
希望大牛們能給出更好的解法
⑨ 如何使用java編程完成網頁新聞抓取與去重
如果代碼能力不是很好的話可以藉助一些軟體去抓取新聞的欄位
把數據抓取下來以後可以選擇存入資料庫當中
需要去重的話,在Java的集合框架中就有HashSet和HashMap可以對數據去重
使用帶Hash的集合時一定要注意,如果是存放自定義的對象一定要重寫equals方法和HashCode方法