站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2SE 专题List.removeall的效率问题?

List.removeall的效率问题?

摘要: List.removeall的效率问题?


问题是这样的,我有一个大的list A,不管是Arraylist还是linkedlist, 然后有一个小的list B, 现在要从A中删除掉B中有的数据,最简单的调用的方法当然就是AList.removeAll(BList);我也 这么做的,结果这个地方让我付出的惨痛的代价,当AList.size到20万,blist.size到2万的时候,这个操作要花我近一分钟,当Alist.size到100万的时候,这个时间就更多了,请问有什么比较高效的方法一次性从list中删除掉大量的数据吗?


这么多数据,没有什么能让你飞快的办法。老思路,换个数据结构。


那什么样的比较好呢? map, array?


大的数据使用linkedlist或者linkedMap
这样才可以节约开销
太好的办法没有


linkedlist我试过了,也很慢,

问题解决了,谢谢大家关心啊,我从ArrayList继承了一个自己的类,然后在里面实现了批量删除,现在删除一次不到一秒钟,真爽啊

还是C语言好,native method方法快


晕,楼主怎么弄的啊?贴出来学习下!


native method方法 以后移植的话 会不会很麻烦


↑返回目录
前一篇: 求助,懂java输入输出流的进
后一篇: 问个移位运算的问题