way*_*are 20 java collections dictionary hashtable
以下代码以相同的插入顺序给出了输出.我读了javadoc,他们甚至没有谈论插入顺序.有人可以帮助我获得正确的信息.
import java.util.*;
public class hash {
public static void main(String[] args) {
String str[] = { "japan",
"usa",
"japan",
"russia",
"usa",
"japan",
"japan",
"australia"};
int len = 8;
Hashtable ht = new Hashtable();
int i = 0;
while (i < len) {
String c = str[i];
System.out.println("c :" + c);
Integer intg = (Integer) ht.get(c);
if (intg == null)
ht.put(c, new Integer(1));
else
ht.put(c, new Integer(intg.intValue() + 1));
i++;
}
Enumeration k = ht.keys();
while (k.hasMoreElements()) {
String key = (String) k.nextElement();
System.out.println(key + " > " + ht.get(key));
}
}
}
Run Code Online (Sandbox Code Playgroud)
Mec*_*ail 40
不,不是的.要保留插入顺序,请改用java.util.LinkedHashMap(javadoc).
此外,HashMap现在是首选Hashtable,因为Hashtable有不必要的并发开销.(请参阅HashMap和Hashtable之间的差异?)
| 归档时间: |
|
| 查看次数: |
28454 次 |
| 最近记录: |