当往HashMap里加单个字母时,对应的HashMap的keySet居然是按字母序排列的
import java.util.HashMap;
public class Solution {
public static void main(String[] args) {
HashMap<String, Integer> map = new HashMap<>();
for (int i = 0; i < 26; i++) {
char c = (char) ('a' + i);
map.put(String.valueOf(c), 0);
String tmp = "";
for (String s : map.keySet()) {
tmp += s;
}
System.out.println(tmp);
}
for (int i = 0; i < 26; i++) {
char c = (char) ('A' + i);
map.put(String.valueOf(c), 0);
String tmp = "";
for (String s : map.keySet()) {
tmp += s;
}
System.out.println(tmp);
}
}
}
以上代码的执行结果如下
a
ab
abc
abcd
abcde
abcdef
abcdefg
abcdefgh
abcdefghi
abcdefghij
abcdefghijk
abcdefghijkl
abcdefghijklm
abcdefghijklmn
abcdefghijklmno
abcdefghijklmnop
abcdefghijklmnopq
abcdefghijklmnopqr
abcdefghijklmnopqrs
abcdefghijklmnopqrst
abcdefghijklmnopqrstu
abcdefghijklmnopqrstuv
abcdefghijklmnopqrstuvw
abcdefghijklmnopqrstuvwx
abcdefghijklmnopqrstuvwxy
abcdefghijklmnopqrstuvwxyz
Aabcdefghijklmnopqrstuvwxyz
ABabcdefghijklmnopqrstuvwxyz
ABCabcdefghijklmnopqrstuvwxyz
ABCDabcdefghijklmnopqrstuvwxyz
ABCDEabcdefghijklmnopqrstuvwxyz
ABCDEFabcdefghijklmnopqrstuvwxyz
ABCDEFGabcdefghijklmnopqrstuvwxyz
ABCDEFGHabcdefghijklmnopqrstuvwxyz
ABCDEFGHIabcdefghijklmnopqrstuvwxyz
ABCDEFGHIJabcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKabcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLabcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMabcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNabcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOabcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPabcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQabcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRabcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSabcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTabcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUabcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVabcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWabcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXabcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYabcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
原理大概是字符串的hasecode方法针对单个由字母组成的字符串返回的就是它的asscill码
a-z为 97-122
A-Z为65-90
在hashmap的哈希值刚好不冲突所有就按字母序了