簡體   English   中英

保存一些數據然后檢索它的最佳方法

[英]Best way to save some data and then retrieve it

我有一個項目,在其中保存了一些來自Soap Service不同渠道的數據,例如:

String_Value Long_timestamp Double_value String_value String_value Int_value

我可以有很多行(即200行),它們的值不同,例如上面的那一行。

我以為可以使用ArrayList ,但是數據的結構可以不同於上面的結構,因此ArrayList可能不是從中檢索數據的好方法。
例如,在上面的示例中,在始終固定的前兩個值之后,我有4個值,但是在另一個通道中,我可能有3個或5個值。 我想要檢索數據,我必須知道有多少個值具有特定的行,而且我認為Arraylist不能幫上忙。

我可以使用什么解決方案?

當您需要唯一地標識不同長度的輸入時, HashMap通常可以很好地工作。 例如,您可以擁有一個類:

public class Record
{
      private HashMap<String, String> values;

      public Record()
      {
           // create your hashmap.
           values = new HashMap<String, String>();
      }

      public String getData(String key)
      {
           return values.get(key);
      }

      public void addData(String key, String value)
      { 
           values.put(key, value);
      }
}

使用這種類型的結構,您可以根據需要保存盡可能多的不同值。 我要做的是遍歷從Soap傳遞的每個值,然后簡單地添加到Record ,然后保留Record對象的列表。

Record rec = new Record();
rec.addData("timestamp", timestamp);
rec.addData("Value", value);
rec.addData("Plans for world domination", dominationPlans);

您可以構建代表實體的類,然后構建解析器...如果它不是標准格式(例如JSON,YAML,ecc ...),則您無權開發自己的解析器。

用字段創建一個類。

class ClassName{

int numberOfValues;
String dataString;

...

}

現在,創建該類的ArrayList(例如ArrayList<ClassName>並為每個記錄用numberOfValues和dataString填充該類對象,然后添加Arraylist。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM