[英]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.