繁体   English   中英

存储字符串列表的最佳方法

[英]best way to store a list of strings

存储和读取一个很长的字符串的最佳方法是什么,每个条目都是另一个数组的索引?

现在我有这个

String indices="1,4,6,19,22,54,....."

该字符串最多有十万个条目,因此我想也许我可以使用像链表这样的数据结构。 有谁知道使用它会更快吗?

List<String> list = new ArrayList<String>();

list.add("1");
list.add("2");

您需要声明字符串类型的arraylist,然后添加到其中。

这将取决于您将如何处理字符串(索引)和相应的数组。 另外,这取决于您如何访问它们。

我建议您首先阅读有关用Java实现的数据结构的概述,特别是在Collections Framework中

我们可以提供一些建议,但是您必须向我们提供更多信息,尤其是我一开始提到的信息(您想要什么,如何存储和访问这些数据,等等)。

例如,如果您需要快速访问索引数据,则字符串甚至不是最佳方法。 也许地图会更好。 例如,索引可以是键,而索引数组可以是映射的值。 但这只是一个空洞的例子,我强烈建议您向我们提供更多信息。

我真的很喜欢使用ArrayList类,如果您愿意使用数组,ArrayList或Collections Framework的任何成员,则可以使用它。 会很好地工作。 为了您的尝试。

ArrayList<String> indices = new ArrayList<String>();
indices.add("");

我心中有类似的预感,我想喜欢1k数量的字符串并解析它们(搜索目的是了解它是否包含项目)。

因此,我发现不是使用Java收集框架,而是使用map或set或list

如果我仅将数据存储在数组中并使用for循环开始解析数据,则速度会更快。

您访问此链接,查看我们以微秒为单位计算的实际输出。

https://www.programcreek.com/2014/04/check-if-array-contains-a-value-java/

因此,在数组未排序的情况下(通常我们拥有),使用简单的蛮力是赢家。

但是arrays.BinarySearch()是对数组进行排序的赢家。

暂无
暂无

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

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