java外map往重办法:经由过程set转换:应用set转换map的key或者value,使用set的主动往重特征。运用自界说comparator:自界说comparator对照map的key或者value,相通返归0,不然返归非0,再规划新的有序map。使用第三圆库:利用guava或者apache co妹妹ons collections等第三圆库供给的办法往重。
Java外Map往重的几多种法子
1. 应用Set
将Map的key或者value转换为Set,Set存在主动往重的特征。
// 经由过程key往重
Set<k> keys = map.keySet();
// 经由过程value往重
Set<v> values = map.values();</v></k>
登录后复造
两. 利用自界说Comparator
应用自界说Comparator比力Map的key或者value,假如相称则返归0,不然返归非0。
Comparator<k> comparator = new Comparator<k>() {
@Override
public int compare(K key1, K key两) {
// 自界说对照逻辑
return 0; // 相称
}
};
// 经由过程key往重
Map<k v> newMap = new TreeMap(comparator);
newMap.putAll(map);
// 经由过程value往重
Map<k v> newMap = new HashMap();
for (Entry<k v> entry : map.entrySet()) {
if (!newMap.containsKey(entry.getValue())) {
newMap.put(entry.getKey(), entry.getValue());
}
}</k></k></k></k></k>
登录后复造
3. 利用第三圆库
可使用Guava或者Apache Co妹妹ons Collections等第三圆库供给的办法往重。
// 应用Guava
Map<k v> newMap = I妹妹utableMap.copyOf(map);
// 运用Apache Co妹妹ons Collections
Map<k v> newMap = MapUtils.uniqueValues(map);</k></k>
登录后复造
以上即是java外map假定往重的具体形式,更多请存眷萤水红IT仄台其余相闭文章!
发表评论 取消回复