防止HashMap / HashTable中出现重复对的Java代码
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了防止HashMap / HashTable中出现重复对的Java代码,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2082字,纯文字阅读大概需要3分钟。
内容图文
![防止HashMap / HashTable中出现重复对的Java代码](/upload/InfoBanner/zyjiaocheng/695/1bf09854f932443e8cc07a17a8717111.jpg)
我有一个下面的HashMap(假设它有10,0000个元素)
的HashMap<字符串,字符串> hm = new HashMap< String,String>();
hm.put( “约翰”, “1”);
hm.put( “亚历克斯”, “2”);
hm.put( “迈克”, “3”);
hm.put( “贾斯汀”, “4”);
hm.put( “代码”, “5”);
==========================
Expected Output
==========================
键=约翰”,值=“ 1”
键= Alex“,值=” 2“
键=迈克”,值=“ 3”
键=贾斯汀”,值=“ 4”
键=代码”,值=“ 5”
===========================
我需要Java代码来防止添加重复的< Key,Value>在HashMap中配对,例如
满足以下条件.
1 GT; hm.put( “约翰”, “1”);在地图中不再被接受/添加
2 – ; hm.put( “约翰”, “2”);在地图中不再被接受/添加
希望它清除.
我们将不胜感激提供的Java代码.(由于我可以将任何重复项添加到现有地图中,因此需要通用解决方案)
解决方法:
您可以将HashMap包装在一个类中,该类委托从HashMap中使用的放置,获取和其他方法.此方法浪费时间但安全,因为它不依赖于HashMap,AbstractMap的内部实现.下面的代码说明了放置,获取委托:
public class Table {
protected java.util.HashMap<String, Integer> map =
new java.util.HashMap<String, Integer>();
public Integer get(String key) { return map.get(key); }
public Integer put(String key, Integer value) {
if (map.containsKey(key)) {
// implement the logic you need here.
// You might want to return `value` to indicate
// that no changes applied
return value;
} else {
return map.put(key, value);
}
}
// other methods goes here
}
另一个选择是制作一个扩展HashMap的类,并依赖于其内部实现. Java 1.6源显示,仅在HashMap的putAll中调用了put,因此您可以简单地覆盖put方法:
public class Table extends java.util.HashMap<String, Integer> {
public Integer put(String key, Integer value) {
if (containsKey(key)) {
// implement the logic you need here.
// You might want to return `value` to indicate
// that no changes applied
return value;
} else {
return super.put(key, value);
}
}
}
另一个选项与第一个类似,它可以在包含HashMap实例的类中创建一个实用程序方法,并在需要放置地图的任何地方调用该方法:
public final Integer putToMap(String key, String value) {
if(this.map.containsKey(key)) {
return value;
} else {
return this.map.put(key, value);
}
}
这等效于手动检查的“内联”.
内容总结
以上是互联网集市为您收集整理的防止HashMap / HashTable中出现重复对的Java代码全部内容,希望文章能够帮你解决防止HashMap / HashTable中出现重复对的Java代码所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。