我有一个关于散列映射序列的问题。例如,在以下代码中:
public class MapEntrySetOrder {
public static void main(String[] args) {
Map<String,String> map = new HashMap<>();
String[] l = new String[]{"Entry", "Set", "HashMap", "Order"};
for (String s : l) {
我有一个方法processDataAssumingLinkedHashMapInput()来处理一个Map。Map必须是按值排序的LinkedHashMap。数据来自getStrIntMap(query)。此方法从SQL中获取resultSet并将其放入LinkedHashMap中。以下是代码:
public void processDataAssumingLinkedHashMapInput(){
String query = "select MYID, MYVALUE from MYTABLE order by MYVALUE";
Map<String
当地图对象被访问时,订单是否仍然保证,如下面所示,位置1和位置2?
//....
public void firstMethod(){
Map<K,V> sortedMap=new LinkedHashMap<K,V>();
sortedMap.put(h,g);
//....
Map<K,V> anotherMap=someOtherMethod(sortedMap);
// order of anotherMap when read ...2
我对我的HashMap出来的命令感到惊讶。
我得到了
Chandler
Joe
Ross
1
而我本以为
Joe
Chandler
Ross
1
按照我添加数据的顺序。
你能解释一下这个问题吗?
java代码:
HashMap测试:
public class HashCodeTest {
static int count = 0;
public static void main(String[] args) {
Map employees = new HashMap();
employees.put(new Employee(