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

如何在HashSet中的特定索引/位置添加元素?

如何解决《如何在HashSet中的特定索引/位置添加元素?》经验,为你挑选了1个好方法。

我有一些String元素的HashSet集合,我如何在特定位置添加新元素?我看到了文档,但没有找到任何可以做到的方法.



1> Willem Van O..:

标准 的一个方面HashSet是它是无序的.因此,您无法在特定索引处插入元素.或者如文档中指定的那样:

此类实现Set接口,由哈希表(实际上是HashMap实例)支持.它不能保证集合的迭代顺序 ; 特别是,它不保证订单会随着时间的推移保持不变.该类允许null元素.

当您执行插入,删除等操作时,可能HashSet会进行重新散列.结果,for(...)循环中元素的顺序可以完全改变.

存在一个扩展Hashset,在LinkedHashSet其保持它们被所述元素的顺序插入.

TreeSet另一方面,A 使用树,并根据顺序关系(在该元素之前发射小于另一个对象的对象)对元素进行排序.

如果你可以在一个随机索引处插入一个元素会很奇怪,因为这会导致至少某些具有特定索引的操作的O(n)时间.通常使用a HashSetO(1)中执行插入,移除等(平均时间).


推荐阅读
  • 本文整理了Java面试中常见的问题及相关概念的解析,包括HashMap中为什么重写equals还要重写hashcode、map的分类和常见情况、final关键字的用法、Synchronized和lock的区别、volatile的介绍、Syncronized锁的作用、构造函数和构造函数重载的概念、方法覆盖和方法重载的区别、反射获取和设置对象私有字段的值的方法、通过反射创建对象的方式以及内部类的详解。 ... [详细]
  • HashMap的相关问题及其底层数据结构和操作流程
    本文介绍了关于HashMap的相关问题,包括其底层数据结构、JDK1.7和JDK1.8的差异、红黑树的使用、扩容和树化的条件、退化为链表的情况、索引的计算方法、hashcode和hash()方法的作用、数组容量的选择、Put方法的流程以及并发问题下的操作。文章还提到了扩容死链和数据错乱的问题,并探讨了key的设计要求。对于对Java面试中的HashMap问题感兴趣的读者,本文将为您提供一些有用的技术和经验。 ... [详细]
  • 如何解决《JavaHashSet包含无法正常工作的函数》经验,为你挑选了1个好方法。 ... [详细]
  • Java:HashSet与HashMap
    如何解决《Java:HashSet与HashMap》经验,为你挑选了2个好方法。 ... [详细]
  • 如何解决《HashSetremoveAll方法非常慢》经验,为你挑选了1个好方法。 ... [详细]
  • Imtryingtogetthetypeofanarrayelements.Igotsomethinglikethis:我正在尝试获取数组元素的类型。我有这样的事情: ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOMEbinjava–option来启 ... [详细]
  • 重入锁(ReentrantLock)学习及实现原理
    本文介绍了重入锁(ReentrantLock)的学习及实现原理。在学习synchronized的基础上,重入锁提供了更多的灵活性和功能。文章详细介绍了重入锁的特性、使用方法和实现原理,并提供了类图和测试代码供读者参考。重入锁支持重入和公平与非公平两种实现方式,通过对比和分析,读者可以更好地理解和应用重入锁。 ... [详细]
  • 如何解决《javaHashSet中的重复项》经验,为你挑选了1个好方法。 ... [详细]
  • 如何解决《使用int数组的HashSet用法》经验,为你挑选了1个好方法。 ... [详细]
  • HashSet and HashMap
    HashSetandHashMap总体介绍之所以把HashSet和HashMap放在一起讲解,是因为二者在Java里有着相同的实现,前者仅仅是对后者做了一层包装,也就是说HashS ... [详细]
  • HiIhaveaHashSetlikethefollowinginaclasscalledMemory:嗨,我在一个名为Memory的类中有如下的HashSet:Set& ... [详细]
  • TheHashSetclasshasanadd(Objecto)method,whichisnotinheritedfromanotherclass.TheJavado ... [详细]
  • MyproblemisthatIhave2classesonecalledSetthiscontainsahashsetofvalues,nowthesevalu ... [详细]
author-avatar
鸣丸子圓的睿哥
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有