簡體   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