LinkedHashMap的keySet()和values()方法的行为[重复]

2023-11-26

可能的重复:
LinkedHashMap 对象的 keySet() 返回的顺序是否有保证?

考虑我创建一个 LinkedHashMap,如下所示:

Map<String, String> map = new LinkedHashMap<String, String>();
map.put("a", "aa");
map.put("b", "bb");
map.put("c", "cc");

当我打电话时keySet(),这会给我一个有序集吗?如果我打电话values(),这些也订了吗?

EDIT

抱歉,意思是有序的,而不是排序的。


首先LinkedHashMap is ordered但不是sorted. TreeMap is sorted(因此ordered以及)。

That being said you can not expect the output of keySet() and values() to be sorted. Actually the JavaDoc says nothing about the order (as it turns out, the order is guaranteed by JavaDoc: Is the order guaranteed for the return of keys and values from a LinkedHashMap object?) of these collections, however looking at the implementation they should follow the order of underlying Map.

为了解决您问题的最新编辑:事实上,它不是合同的一部分LinkedHashMap甚至没有实施keySet() and values()但使用基类的 (HashMap) 版本。尽管根据实现您可以看到顺序被保留,但如果您希望应用程序可移植,则不应依赖它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

LinkedHashMap的keySet()和values()方法的行为[重复] 的相关文章

  • 何时/为何使用/定义接口[重复]

    这个问题在这里已经有答案了 可能的重复 何时最好使用 java 中的接口 https stackoverflow com questions 2586389 when best to use an interface in java Hi
  • Java-线程与CPU的关系

    我对多线程还很陌生 我正在开发一个项目 尝试在我的 Java 程序中使用 4 个 CPU 我想做类似的事情 int numProcessors Runtime getRuntime availableProcessors ExecutorS
  • 透明平开窗

    我有一点JWindow上面有一个标志 用户可以将东西拖到上面 我主要在 OS X 上开发我的应用程序 为了获得我使用的透明窗口 setBackground new Color 0 0 0 0 在 Mac 上 这工作得很好 但在 Window
  • 如何迭代所有注册表项?

    我正在尝试迭代所有注册表项以查找 包含 并删除 jre1 5 0 14 值 有办法做到吗 下面的代码只是在特定键下找到jre1 5 0 14 我确实想迭代所有的键 顺便说一句 if 子句获取是否等于 jre1 5 0 14 但如果它包含 j
  • JavaFX Platform.runLater 的使用以及从不同线程访问 UI

    我有几个问题Platform runLater 我有一个 JavaFX 应用程序类 在这个类中 我运行一个线程 该线程从网络套接字读取数据 现在当我创建一个新的Stage在线程内部 系统抛出异常 JavaFX 事件调度程序线程和我的网络读取
  • 使用 AbstractTableModel 获取 JTable 中选定的行

    我有一个JTable using AbstractTableModel我在哪里有一个JCheckBox在第一列中用于选择行 现在 我需要从已检查的表中获取选定的行 现在 我按顺序从第一行遍历到最后一行并获取所有选择的行 如下所示 List
  • 实现与扩展:何时使用?有什么不同?

    请用易于理解的语言进行解释或提供某些文章的链接 extends is for 延伸一类 implements is for 实施一个接口 接口和常规类之间的区别在于 在接口中您不能实现任何声明的方法 只有 实现 接口的类才能实现方法 C 中
  • 在Java中清空数组/处理

    除了循环遍历数组中的每个元素并将每个元素设置为 null 之外 Java 处理中是否有一个本机函数可以简单地清空数组 或销毁它 以便能够将其重新声明为新数组 There s Arrays fill myArray null 并不是说它执行的
  • 在 IntelliJ 上进行 Google App Engine Java 开发?

    令人烦恼的是 Google App Engine 已成为其中的另一个项目 他们只发布 Eclipse 插件 如 Spring Webflow 而我更喜欢 IntelliJ 你能用IntelliJ成功运行本地测试环境吗 并调试 部署本地或实时
  • 使用 Android WebViewClient 启用特定 SSL 协议

    我的应用程序使用WebViewClient与服务器建立 SSL 连接 服务器配置为仅接受 TLSv1 1 及以上协议 使用 Android 时 如何检查哪些 SSL 协议是 a 支持的和 b 默认启用的WebViewClient在设备上 如
  • 初级 Java 计数器代码

    我的教授希望我这样做 使用下面的 Counter 接口写入多个可互换计数器 public interface Counter Current value of this counter int value Increment this co
  • 正确使用 JDBC 连接池 (Glassfish)

    我需要在 Java Web 服务中作为会话 bean 实现数据库连接 但我不确定我这样做是否正确 我创建了一个类 public final class SQLUtils private static DataSource m ds null
  • BlackBerry SQLite:将一个 SQLite 数据库连接到另一个

    我正在尝试使用 SQLite 将一个 SQLite 数据库附加到 BlackBerry 上的另一个数据库附加数据库 http www sqlite org lang attach html命令 Database d1 d2 Statemen
  • 如何使用 Guava 连接字符串?

    我写了一些代码来连接字符串 String inputFile for String inputLine list inputFile inputLine trim 但我不能使用 连接 所以我决定使用 Guava 所以我需要使用Joiner
  • 如何使用云打印打印Android活动显示

    我正在尝试将 Google 云打印实现到应用程序中 遵循集成指南 https developers google com cloud print docs android 我试图通过打印 google com 来保持基本 单击我创建的打印按
  • 战争库中的罐子爆炸

    我们可以将分解的 jar 文件放入 war web inf 库中吗 它在 JBOSS 4 2 中对我不起作用 我收到以下错误并且无法部署应用程序 Caused by javax management RuntimeOperationsExc
  • 我们可以有虚假中断吗?

    我正在创建一个任务轮询器 每分钟都会查找任务 它看起来像这样 public class Poller private final ExecutorService e Executors newSingleThreadExecutor pub
  • 无法映射 ftl 文件中的 jsonRequest 属性

    我想在 FTL 文件中映射下面的 json 文件市场和子市场字段 但是当我尝试下面的代码时 它没有映射 有人可以帮助我吗 我从 2 天开始就无法映射它 Json请求 ProcessOrderRequest prevalidationMode
  • 如何在java 1.8中从org.jboss.jca.adapters.jdbc.jdk8.WrappedConnectionJDK8转换为oracle.jdbc.OracleConnection

    如何在 java 1 8 中从 org jboss jca adapters jdbc jdk8 WrappedConnectionJDK8 转换为 oracle jdbc OracleConnection 目前我正在这样使用并得到以下异常
  • 我找不到 IntelliJ 快捷方式

    我使用 vim 一段时间 我知道有一个 intellij vim 插件 我很好奇内置的 IntelliJ 文本导航存在什么 如何打开实时模板来创建模板 如何查看以 tr 开头的现有模板列表 如何进行全局搜索并在当前文档中进行搜索 然后转到下

随机推荐

  • 在 javascript 中使用另一个 fetch 中的 fetch

    我想获取一个 api 然后调用另一个 api 在 javascript 中使用这样的代码是否明智 fetch url method get then function response response json then function
  • 新 Twitter API 1.1 的身份验证

    我有一个应用程序需要显示关注者和关注者的数量 users show json 对于公共页面上的随机用户 不需要身份验证 使用 Twitter API 1 0 这非常容易 因为请求不需要身份验证 使用新的 Twitter API 1 1 不再
  • Sql Server FILESTREAM 总文件大小

    是否有一个查询可以获取磁盘上 FILESTREAM 文件夹中文件的总文件大小 以下查询将返回以字节为单位的长度filestreamcolumn column SELECT SUM DATALENGTH filestreamcolumn FR
  • 使用另一个对象更新 javascript 对象,但仅更新现有的键

    Javascript 或 Lodash 中是否有一个函数 我可以在其中使用另一个对象的值 更新 一个对象 但是无需添加新密钥 var foo a 0 b 1 var bar b 2 c 3 像 update foo bar 一样 覆盖 更新
  • JAX-RS - 没有根节点的 JSON

    我有一个宁静的网络服务 响应是 cities id 1 name City 01 state A1 id 2 name City 02 state A1 但我想要这个 id 1 name City 01 state A1 id 2 name
  • JOptionPane 输入到 int

    我试图让 JOptionPane 获取输入并将其分配给 int 但我遇到了变量类型的一些问题 我正在尝试这样的事情 Int ans Integer JOptionPane showInputDialog frame Text JOption
  • 如何从写成单词的数字中读取值?

    众所周知 数字可以用数字来书写 也可以用名称来称呼 虽然有很多将 123 转换为 123 的示例 但我找不到如何将其反向转换的好示例 一些注意事项 基数 名义或序数 一 和 第一 常见的拼写错误 四十 四十 数百 千 2100 gt 二十一
  • 如何知道鼠标左键是否被按下

    我正在使用 PyAutoGUI 库 如何知道鼠标左键是否被按下 这就是我想做的 if leftmousebuttonpressed print left else print nothing 我是 PyAutoGUI 的作者 我可以确认当前
  • Android SDK路径未指定

    我已经安装了 android studio 但我在继续操作时遇到问题 问题是Android SDK路径未指定 这是什么意思 我需要下载什么东西还是什么 Android SDK 有问题 请执行以下步骤 但首先确保您的电脑已连接到互联网 打开你
  • Twitter资料页iOS Swift剖析(UIScrollView中的多个UITableView)

    嗨 他们到底是如何实现这个的 Twitter 个人资料页面有几个教程 但他们并没有处理所有的可能性 首先 当您滚动顶部或底部任何位置时 顶部视图开始滚动 直到分段控件 到达页面顶部 然后滚动不会停止 子表开始滚动 直到触地并在中间表视图开始
  • Linux 动态链接器中的“无版本信息可用”错误是什么意思?

    在我们的产品中 我们提供了一些动态链接到 libpam 等系统库的 Linux 二进制文件 在某些客户系统上 当程序运行时 我们会在 stderr 上收到以下错误 authpam lib libpam so 0 no version inf
  • UICollectionViewCell 按固有大小展开/折叠

    I have a collection view with a custom flow layout and many different cells of different height The width of the collect
  • Java AsynchronousFileChannel - 线程使用

    我理解Java的AsynchronousFileChannel是一个异步api 不会阻塞调用线程 并且可以使用系统线程池中的线程 我的问题是 AsynchronousFileChannel 操作是否具有 1 1 的线程比 换句话说 如果一个
  • 在 C++ 中创建一个没有 x*x 的 square() 函数

    我正在自学 C 和 Bjarne Stroustrup 的 Programming Principles and Practices Using C 一书 其中一个 试试这个 问这个 不使用乘法运算符实现 square 也就是说 通过重复加
  • 窗口最大化/未最大化时的事件

    当您最大化表单或取消最大化表单时是否会触发一个事件 在你说之前Resize or SizeChanged 只有在以下情况下才会被解雇 Size实际上发生了变化 如果您的窗口恰好与最大化窗口大小相同 则它们不会触发 地点看起来是下一个最佳选择
  • 如何从 ASP.NET 发送大量电子邮件?

    我为客户建立了一个网站 他们想要一个定制的新闻通讯工具 构建该工具很容易 但我不确定如何发送电子邮件 我设置了一个测试页面 并设法使用 System Net Mail 命名空间向自己发送测试电子邮件 我尝试将此代码应用于时事通讯页面上的循环
  • 如何在 Angular 7 中的表中添加行组件?

    我使用最新版本的角度 7 2 0 我有个人 tr 组件 例如 import Component OnInit Input from angular core Component selector app table row template
  • UITableView 意外地用 beginUpdates()/endUpdates()/performBatchUpdates() 弹起

    我有一个非常直截了当的UITableViewController NSFetchedResultsController案例在这里 它来自 Xcode Master Detail App 示例代码 因此很容易重现 我有一个 CoreData
  • Pinia getter 不更新

    我有以下代码
  • LinkedHashMap的keySet()和values()方法的行为[重复]

    这个问题在这里已经有答案了 可能的重复 LinkedHashMap 对象的 keySet 返回的顺序是否有保证 考虑我创建一个 LinkedHashMap 如下所示 Map