是在J2ME下的, 我有一个好大的文本文件. 反正就是特大了, 大到不能一次全部装入到内在了.
我是这样, 在文件头部放了一个索引块(数组), 每个索引块都存放一个小文本块在文件中的位置和大小. 这样, 我在运行程序中只要把索引块装入. 然后先根据索引块装入若干个小文本块到String动态数组中. 这些文本块当然是在屏幕上显示的文本块和之前之后的文本块(即将要显示的文本块).
在C++程序中, 可以使用链表来根据用户输入和屏幕显示来动态的装入和删除小的文本块. 这样, 只要按向上翻页就可以开个线程先把后面不需要的删除, 再把前面将要显示的装入. 这样的链表效率是非常高的. 但是在J2ME中, 就只能用vector了, 这样不能在前面插入, 那样所有数据都向后移动, 也不能在前面删除, 这样所有数据都向前移动了. 没有链表那种清查的结构和高效率. 应该如何解决. 可以动态在前面, 后面插入数据, 删除数据. 这样我按向上翻页时, 可以在动态数组前面加入一个String, 将最后的String删除. 按向下翻页时, 将前面的String删除, 在后面增加String.或者是像这样动态装入大文件有没有什么更好的算法或是文章, 代码可以参考啊, 谢谢.
我是这样, 在文件头部放了一个索引块(数组), 每个索引块都存放一个小文本块在文件中的位置和大小. 这样, 我在运行程序中只要把索引块装入. 然后先根据索引块装入若干个小文本块到String动态数组中. 这些文本块当然是在屏幕上显示的文本块和之前之后的文本块(即将要显示的文本块).
在C++程序中, 可以使用链表来根据用户输入和屏幕显示来动态的装入和删除小的文本块. 这样, 只要按向上翻页就可以开个线程先把后面不需要的删除, 再把前面将要显示的装入. 这样的链表效率是非常高的. 但是在J2ME中, 就只能用vector了, 这样不能在前面插入, 那样所有数据都向后移动, 也不能在前面删除, 这样所有数据都向前移动了. 没有链表那种清查的结构和高效率. 应该如何解决. 可以动态在前面, 后面插入数据, 删除数据. 这样我按向上翻页时, 可以在动态数组前面加入一个String, 将最后的String删除. 按向下翻页时, 将前面的String删除, 在后面增加String.或者是像这样动态装入大文件有没有什么更好的算法或是文章, 代码可以参考啊, 谢谢.
解决方案 »
- JDialog
- 额,谁知道是因为什么
- Subeclipse有没有办法在文件被编辑或保存时自动锁定呢?
- 兄弟姐妹们 帮我看下这个sqlserver2000数据库的问题
- 9.编写一个程序,用 选择法 对数组 a[]={5,4,8,9,7,2,6,5}进行从大到小的排序,和从小到大的排序。
- 问个计算机网络的问题
- 结交tapestry的朋友。
- 请教SWT中的Table, 为什么同类的button事件可以调用,其它类不能调用??
- 帮忙写个小算法
- java求1到n的和,可以多次输入!为何在oj平台测试总是出错?
- SQL一个简单问题,求教
- 请问如何使用swing做一个 弹出窗口不能通过拖拉窗体边框改变大小 ??
List list = Collections.synchronizedList(new LinkedList());
这样所生成的list,基本方法都是线程安全的。
但是,Iterator不是线程安全的。