我正在學習Java並且有一個非常基本的問題。如何創建一萬個對象並將其存儲在一個HashMap中
我使用BufferedReader爲一些網站編制索引並將數據存儲在基於MySQL的數據庫中。我每15秒就爲30個數據源執行此操作,這會生成大量數據。
現在我想分析這些數據。我正在考慮將數據同時存儲在HashMap
中,我將在每天結束時清除這些數據。
但是,你能給我一個關於如何爲30個不同來源創建對象的例子嗎? 我需要30個不同的HashMap
或者我可以建立一個如'pathName + randomNumber'的密鑰嗎?
最後,我希望能夠找到每個來源和兩個最新條目的HashMap中的第一個條目,從而使我能夠看到這三者之間的區別是什麼。
請幫忙。我試圖在網上看,但沒有運氣,因爲我認爲HashMap的例子總是專注於存儲對象,而不是如何創建你存儲在它們中的對象......(是的,我知道 - 這是一個菜鳥問題) ;)
「找到第一個條目」,「最新的兩個條目」。什麼定義了這個命令?插入時間? – Thilo
您必須設計一個可以(或不)使用JCF類的自定義,精細調整的數據結構。例如,您可以創建一個Map,其中鍵爲源,值爲LinkedList,您可以在其中列出與該特定源相關的條目。但是你必須關注你對這些數據的處理方式:你沒有給我們足夠的信息。是否完全分類相關,或者你只需要知道第一個和最後兩個? O(1)檢索至關重要嗎?爲什麼和如何?更多:「如何創建對象」意味着什麼。在java中,你通過new'ing創建對象。你的意思是什麼? – gd1
如果您想要一個有序集合(基於插入順序),請使用LinkedHashMap。如果你想要一個有排序的地圖,那麼使用TreeMap並在對象上實現Comparable或使用比較器。另外,你可以詳細解釋一下這個問題,因爲你沒有說你使用的是什麼類型的對象,也不知道這個過程是否必須作爲一個整體涉及30個子問題,或者你可以一個接一個地處理這些問題。 –