热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何从Hashmap中删除重复的键

如何解决《如何从Hashmap中删除重复的键》经验,为你挑选了1个好方法。

我有一份清单.列表中有一个列表. [[-1, 0, 1], [-1, 2, -1], [0, 1, -1]],此列表的名称说明结果.结果列表包含重复的元素作为列表.[-1,0,1][0,1,-1]他们相同.我想创建一个不包含重复项的列表.所以列表结果变成[[-1,0,1],[-1,2,-1]][[-1,2,-1],[0,1,-1]].

我读到Hashmap不能存储重复的键但允许重复的值.所以为了删除重复,我正在尝试Hashmap.

但是在编写代码后运行良好没有错误.

HashMap,Integer> final_sol=new HashMap<>();
for(int k1=0;k1

输出:

{[-1, 2, -1]=1, [0, 1, -1]=2, [-1, 0, 1]=0}

编写完这些代码块后,我认为我的重复键只能显示唯一键.

然后我怎么能使用哈希地图使这个列表独一无二?不明白

当我使用树形图时,它不会编译并给出了错误.



1> John Bolling..:

这是事实,地图不保留重复键和设置不保留重复的元素,但你要明白,"副本"的键/元素来定义的equals()方法,以及基于散列的集合取决于有钥匙/元素hashCode()与其equals()方法一致的方法.

现在你说

[-1,0,1][0,1,-1]他们相同.

但是,不是,就平等的定义而言,它们并不相同List.列表元素的顺序很重要,并且列表需要以equals()反映该元素的方式实现.这就是为什么这些列表可能同时显示为键的原因Map,并且两者都可能显示为相同的元素Set.

然后我怎么能使用哈希地图使这个列表独一无二?

显然,订单对您的目的而言并不重要,因此您List并不是真正适合您的模型.如果您不需要容纳重复元素,那么您应该考虑使用Sets.标准库提供了几种实现,HashSet根据我的理解,它们可能最适合您的情况.如果你确实需要容纳重复的元素,那么你正在寻找一个multiset.标准库不提供实现,但有几个可从第三方获得.

当我使用树图时,它不会编译并给出一些错误.

是的,它会,除非你提供了一个Comparator确定你的元素的相对顺序. TreeMap将重复项识别为根据其自然或比较器指定的顺序进行比较的键.

总的来说,它听起来像是一组列表,而是一组集合或一组多集合.我不明白你为什么要把地图带进去.


推荐阅读
  • 转载自:http:www.blogjava.netCarpenterLeearchive20160427430268.html总体介绍之所以把HashSet和HashMa ... [详细]
  • 1Lock与ReadWriteLock1.1LockpublicinterfaceLock{voidlock();voidlockInterruptibl ... [详细]
  • Java中包装类的设计原因以及操作方法
    本文主要介绍了Java中设计包装类的原因以及操作方法。在Java中,除了对象类型,还有八大基本类型,为了将基本类型转换成对象,Java引入了包装类。文章通过介绍包装类的定义和实现,解答了为什么需要包装类的问题,并提供了简单易用的操作方法。通过本文的学习,读者可以更好地理解和应用Java中的包装类。 ... [详细]
  • 缓存这个东西就是为了提高运行速度的,由于缓存是在寸土寸金的内存里面,不是在硬盘里面,所以容量是很有限的。LRU这个算法就是把最近一次使用时间离现在时间最远的数据删除掉。先说说List:每 ... [详细]
  • Java容器中的compareto方法排序原理解析
    本文从源码解析Java容器中的compareto方法的排序原理,讲解了在使用数组存储数据时的限制以及存储效率的问题。同时提到了Redis的五大数据结构和list、set等知识点,回忆了作者大学时代的Java学习经历。文章以作者做的思维导图作为目录,展示了整个讲解过程。 ... [详细]
  • JavaSE笔试题-接口、抽象类、多态等问题解答
    本文解答了JavaSE笔试题中关于接口、抽象类、多态等问题。包括Math类的取整数方法、接口是否可继承、抽象类是否可实现接口、抽象类是否可继承具体类、抽象类中是否可以有静态main方法等问题。同时介绍了面向对象的特征,以及Java中实现多态的机制。 ... [详细]
  • 本文探讨了C语言中指针的应用与价值,指针在C语言中具有灵活性和可变性,通过指针可以操作系统内存和控制外部I/O端口。文章介绍了指针变量和指针的指向变量的含义和用法,以及判断变量数据类型和指向变量或成员变量的类型的方法。还讨论了指针访问数组元素和下标法数组元素的等价关系,以及指针作为函数参数可以改变主调函数变量的值的特点。此外,文章还提到了指针在动态存储分配、链表创建和相关操作中的应用,以及类成员指针与外部变量的区分方法。通过本文的阐述,读者可以更好地理解和应用C语言中的指针。 ... [详细]
  • 先看官方文档TheJavaTutorialshavebeenwrittenforJDK8.Examplesandpracticesdescribedinthispagedontta ... [详细]
  • JDK源码学习之HashTable(附带面试题)的学习笔记
    本文介绍了JDK源码学习之HashTable(附带面试题)的学习笔记,包括HashTable的定义、数据类型、与HashMap的关系和区别。文章提供了干货,并附带了其他相关主题的学习笔记。 ... [详细]
  • 欢乐的票圈重构之旅——RecyclerView的头尾布局增加
    项目重构的Git地址:https:github.comrazerdpFriendCircletreemain-dev项目同步更新的文集:http:www.jianshu.comno ... [详细]
  • 重入锁(ReentrantLock)学习及实现原理
    本文介绍了重入锁(ReentrantLock)的学习及实现原理。在学习synchronized的基础上,重入锁提供了更多的灵活性和功能。文章详细介绍了重入锁的特性、使用方法和实现原理,并提供了类图和测试代码供读者参考。重入锁支持重入和公平与非公平两种实现方式,通过对比和分析,读者可以更好地理解和应用重入锁。 ... [详细]
  • HashTable与ConcurrentHashMap均可实现HashMap的功能,对外提供了键值对存储的数据结构。但是在内部结构及实现上有何区别,性能上的差异到底在哪里又是如何导致的 ... [详细]
  • 本篇文章给大家分享的是有关Java中怎么对HashMap按键值排序,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话 ... [详细]
  • ***功能:排序*privatestaticvoidoutputRegionStatistics(HashMap<String,Integer>regionMap){ ... [详细]
  • 01Map集合概述A:Map集合概述:我们通过查看Map接口描述,发现Map接口下的集合与Collection接口下的集合,它们存储数据的形式不同a:Collection中的集合 ... [详细]
author-avatar
My_Qzj
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有