Java 从链接hashMap派生时,数组的顺序是什么?

Java 从链接hashMap派生时,数组的顺序是什么?,java,arrays,linkedhashmap,Java,Arrays,Linkedhashmap,我创建了一个链接哈希映射,然后使用该映射生成了如下映射键数组:- Map<String, String> map = new LinkedHashMap<>(); map.put("Str1", "Str1"); map.put("Str1", "Str1"); String[] keyArray= map.keySet().stream.toArray(String[]::new); Map Map=newlinkedhashmap(); map.put(“Str1

我创建了一个链接哈希映射,然后使用该映射生成了如下映射键数组:-

Map<String, String> map = new LinkedHashMap<>();
map.put("Str1", "Str1");
map.put("Str1", "Str1");

String[] keyArray= map.keySet().stream.toArray(String[]::new);
Map Map=newlinkedhashmap();
map.put(“Str1”、“Str1”);
map.put(“Str1”、“Str1”);
String[]keyArray=map.keySet().stream.toArray(String[]::new);
现在,问题是keyArray的顺序是什么? 它与链接hashmap的插入顺序相同还是不同? 如果是不同的,那么我们如何生成具有linkedhashmap相同插入顺序的数组?

来自:

流可能有也可能没有定义的遭遇顺序。流是否具有遭遇顺序取决于源和中间操作。某些流源(如列表或数组)本质上是有序的,而其他流源(如HashSet)则不是。一些中间操作,如sorted(),可能会对其他无序流施加遭遇顺序,而其他操作可能会使有序流无序,如BaseStream.unordered()

此链表定义迭代顺序,通常是将关键点插入地图的顺序(插入顺序)


由于LinkedHashMap用作源,并且它正在维护排序,因此生成的数组的排序可能与其源相同。

此映射中仅包含一个项…可能是的重复项