Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hashmap和arraylist在java中不同地添加值_Java_Arraylist_Hashmap - Fatal编程技术网

Hashmap和arraylist在java中不同地添加值

Hashmap和arraylist在java中不同地添加值,java,arraylist,hashmap,Java,Arraylist,Hashmap,我想在arraylist和hashmap中添加值。当我添加值时,我注意到map在前面添加值,最后列出添加值。但我想以一种方式添加这两个值。如何做到这一点 我要在hashmap中添加的值是40555040 在我的名单上20,37 但是,在添加列表时,会给出预期的结果,但map会将输出作为50404055。使用而不是HashMap。前者保留元素插入的顺序 从其JavaDoc(我的重点): 映射接口的哈希表和链表实现,具有可预测的迭代顺序。此实现与HashMap的不同之处在于,它维护一个贯穿其所有条目

我想在arraylist和hashmap中添加值。当我添加值时,我注意到map在前面添加值,最后列出添加值。但我想以一种方式添加这两个值。如何做到这一点

我要在hashmap中添加的值是40555040 在我的名单上20,37

但是,在添加列表时,会给出预期的结果,但map会将输出作为50404055。

使用而不是
HashMap
。前者保留元素插入的顺序

从其JavaDoc(我的重点):

映射接口的哈希表和链表实现,具有可预测的迭代顺序。此实现与HashMap的不同之处在于,它维护一个贯穿其所有条目的双链接列表。该链表定义了迭代顺序,通常是键插入到地图中的顺序(插入顺序)

这将使您的
映射
列表
(由
数组列表支持)的元素顺序相同

不确定你是如何设计你的应用程序的,但我建议你使用面向接口的程序(
Map
List
,等等),而不是类(
HashMap
ArrayList
,等等)。更多信息:

使用而不是
HashMap
。前者保留元素插入的顺序

从其JavaDoc(我的重点):

映射接口的哈希表和链表实现,具有可预测的迭代顺序。此实现与HashMap的不同之处在于,它维护一个贯穿其所有条目的双链接列表。该链表定义了迭代顺序,通常是键插入到地图中的顺序(插入顺序)

这将使您的
映射
列表
(由
数组列表支持)的元素顺序相同


不确定你是如何设计你的应用程序的,但我建议你使用面向接口的程序(
Map
List
,等等),而不是类(
HashMap
ArrayList
,等等)。更多信息:

您能告诉我为什么需要使用两种不同的结构吗?如果两个结构中的数据都是相关的,那么我建议使用一个结构或POJO并将其添加到列表中,比如说,这样您的数据就不会因给定的用例而分散。这些行为已经由Luiggi解释过了。这听起来像是一个错误。为什么您关心
映射中元素的顺序(特别是如果您已经有
列表来保持顺序)。
Map
通常应该通过键访问,在这种情况下,顺序无关紧要。您能告诉我为什么需要使用两种不同的结构吗?如果两个结构中的数据都是相关的,那么我建议使用一个结构或POJO并将其添加到列表中,比如说,这样您的数据就不会因给定的用例而分散。这些行为已经由Luiggi解释过了。这听起来像是一个错误。为什么您关心
映射中元素的顺序(特别是如果您已经有
列表来保持顺序)。通常应通过键访问
映射
,在这种情况下,顺序无关紧要。