发帖    主题    评论    推荐    标签    作者    订阅    查搜    注册   登陆   关注
 
面向对象 设计模式 领域驱动设计 企业架构 框架 开发教程 微服务 CQRS 扩展性 并发编程 事件溯源 分布式 SOA
1 2 下一页 Go 2

Hashtable中put进去的对象是否保持put的顺序

2003-07-20 21:45
赞助商链接

下边是代码
Hashtable hs = new Hashtable();
hs.put("1","one");
hs.put("2","two");
hs.put("3","three");

Enumeration enumeration = hs.elements();
while (enumeration.hasMoreElements()) {
String element = (String) enumeration.nextElement();
System.out.println(element);
}
输出结果为:
three
two
one
从结果看Enumeration以后里面对象的顺序是原来的倒叙。
问题是这种顺序是不是恒定的。hashtable 的element是加了synchronized修饰符的,在多个客户使用时,顺序是否会发生变化?

2003-07-20 21:46

在做一个基础的东西,必须搞清楚这点,否则以后死了都不知道怎么死的。

2003-07-20 22:30

好像我以前试过,不能保证次序。记不清了。不过用ArrayList肯定是保持次序的。

2003-07-21 11:58

在原来的项目中试过。顺序不能保持
好想是根据散列码来的,顺序是随机
至于位置会不会发生变化,不清楚
应该不会,不然每次放入新对象......

2003-07-21 12:06

Map,Set都是没有顺序的,List才有顺序
SortedMap可以保持一定的顺序,不过不是你插入的顺序,而是排序

我以前也碰到这个问题,后来自己写了一个OrderedMap

2Go 1 2 下一页

赞助商链接

赞助商链接

返回顶部

移动版 关于本站 使用帮助 联系管理员 最佳分辨率1366x768
OpenSource JIVEJDON Powered by JdonFramework Code © 2002-20 jdon.com