关于Vector.insertElementAt() 救命啊:我要做个向量表,按字母顺序存储一堆东西。添加新的的时候,计算到应该在的脚标了,然后用insertElementAt()插入但这个方法貌似在大数据量里很慢,我可以用什么方法来处理呀?或者别的来替代Vector? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用LinkList 在插入删除的效率上要高一些 但要访问哪一个 需要的节点就要低些 Vector是线程安全的,所以效率低。ArrayList查询快,添加删除慢,底层由数组实现,添加删除需要移动元素,访问可以直接定位。LinkedList添加删除快,查询慢,底层有链表实现,添加删除只需要修改节点指向,查询需要遍历。 想了一下发现 好像还是 LinkList 比较符合要求 set --其中的值不允许重复,无序的数据结构 list --其中的值允许重复,因为其为有序的数据结构 map--成对的数据结构,健值必须具有唯一性(键不能同,否则值替换) 不过我觉得 这个 “按字母顺序存储一堆东西”,是一定要按 字典里的循序吗 如果不是的话 貌似可以重写 hashcode 方法从而用hashmap来解决 这样查找起来会很快毕竟是向量表 很大程度是用来查找 但一般来说 重写了 hashcode方法 记得要重写 equals方法 他们一般是成对的重写的 嗯,谢谢两为位高手,我这也在研究测试,主要功能就是判断这个表中是否有新来的String,没有就加入进去,有就修改。由于数据量很大,判断和添加都希望很快。一会儿用map看看。 唉 你不把需求说清 如果是String 的话 你听说过Java字符串常量池吗 这个常量池就很像你要实现的东西AD一下 看看我写的博客 写的不好 哈哈 看看字符串常量池机制http://blog.csdn.net/KindAzrael/archive/2009/10/03/4630409.aspx 呵呵,现在用TreeMap后很满意。嗯,我再研究下你写的字符串常量池机制 然后把TreeMap中的Key弄出来,merge下,再按顺序读出Object,应该就OK了。 谁有NetBeans视频教程 求救,急jsp+flash实现.swf文件的播放 怎样取得当前的日期及时间并将其转换为如2005-12-12-24-15-31-24的字符串 关于右移运算符>> 请问synchronized这样用对吗?困惑中!!!! 求救求救!请诸位大侠帮忙:java日期类与sql的日期变量如何比较大小? help me!!!!!!!!!!!!!!!!!!!!!! help!!!!!!!!!!!!!!!!!!!!!! 【求助】关于阶乘的问题 方法的返回值可以是一个数组吗?在线等待 ms sqlserver jdbc 多大啊? 进者有分 为何出现错误码 批处理问题。。。
ArrayList查询快,添加删除慢,底层由数组实现,添加删除需要移动元素,访问可以直接定位。
LinkedList添加删除快,查询慢,底层有链表实现,添加删除只需要修改节点指向,查询需要遍历。
set --其中的值不允许重复,无序的数据结构
list --其中的值允许重复,因为其为有序的数据结构
map--成对的数据结构,健值必须具有唯一性(键不能同,否则值替换) 不过我觉得 这个 “按字母顺序存储一堆东西”,是一定要按 字典里的循序吗
如果不是的话 貌似可以重写 hashcode 方法从而用hashmap来解决 这样查找起来会很快
毕竟是向量表 很大程度是用来查找 但一般来说 重写了 hashcode方法
记得要重写 equals方法 他们一般是成对的重写的
由于数据量很大,判断和添加都希望很快。一会儿用map看看。
唉 你不把需求说清 如果是String 的话 你听说过Java字符串常量池吗 这个常量池就很像你要实现的
东西AD一下 看看我写的博客 写的不好 哈哈 看看字符串常量池机制
http://blog.csdn.net/KindAzrael/archive/2009/10/03/4630409.aspx