Map的values()排序问题

public class MapSortTest {
    
    public static void main(String[] args) {
        //testHashMap() ;
        testTreeMap();
    }
    
    /**
     *  HashMap出现排序问题:   Google999988, Google999987, Google999986, Google999985, Google999984, Google1000000]
     * 
     */
    public static void testHashMap() {
        // 创建一个 HashMap
        HashMap sites = new HashMap<>(5);
        
        for(int i= 1; i<=1000000; i++) {
            sites.put(i, "Google"+i);
        }
        // 返回所有value值组成的视图
        System.out.println("HashMap.values(): " + sites.values());
    }
    
    /**
     * TreeMap 排序没问题 : Google999995, Google999996, Google999997, Google999998, Google999999, Google1000000]
     */
    public static void testTreeMap() {
        // 创建一个 HashMap
        TreeMap sites = new TreeMap();
        
        for(int i= 1; i<=1000000; i++) {
            sites.put(i, "Google"+i);
        }
        // 返回所有value值组成的视图
        System.out.println("TreeMap.values(): " + sites.values());
    }
    

}

你可能感兴趣的:(java,servlet,jvm)