繁体   English   中英

Java中如何使用多个迭代器遍历一个链表?

[英]How to use more than one iterator to traverse a linked list in Java?

我在 Goodrich 的数据结构和算法一书中读到,可以使用多个迭代器对链表进行只读操作,但我完全不明白如何实现它。

我正在尝试搜索 String DNAFragment 是否存在于WholeDNA列表中,并仅将这些 DNA 添加到单独的结果列表中。 我想加快搜索速度。 我愿意接受任何建议,在此先感谢您。

你真的不需要列表,除了可能从某个地方读取数据。 之后,您可以将数据放入数组中。 这使得通过对索引进行分区将工作(可运行对象)拆分到多个工作线程(线程池中的线程)变得非常容易。 您可以使用任何并发数据结构来存储匹配的索引。

此外,因为您使用的是 DNA,所以您只需要 2 位来存储一个元素(4 种酸)。 您可以使用 int 数组(值 0 - 3)或 BitSet 代替字符串。 像这样,您可以轻松计算滚动哈希。 这可以大大提高整个 DNA 中片段的搜索速度,特别是如果片段很长。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM