私は以上の30万回を実行しているいくつかのコードを実行していますので。このコードを実行するたびに、それは300Kまでの値を返します。私は現在、私は取得結果を格納していますArrayList
:
List<List<Object>> thisList = new ArrayList<List<Object>();
for (int i = 0; i < 300000; i++) {
thisList.add(new ArrayList<Object>());
}
for (int i = 0; i < 300000; i++) {
List<Object> result = someCode();
for (Object obj : result) {
thisList.get(obj.id).add(obj.value);
}
}
このコードでは、毎回がobj
得られ、それは値を有するobj.id
指定index
にList
どこobj.value
格納されなければならないが。
検索が続くと他の場所で結果を格納するための最も効率的な方法は何でしょうか?私のコードは、最も可能性の高いメモリ不足の問題のために、反復400を超えて動作を停止しているようです。私は、各行が表す単純なテキスト文書使用して検討しているList<Object>
が、いくつかのグーグルを通じて、特定のラインに追加する方法がないようで、すべての提案は全体のテキストドキュメントを上書き向けてのポイントに思えるが。私は今のところそれを避けるためにしようとしています理由である前に、データベースで働いたことがありません。
誰かが私に私が何ができるかについての提案を与えることができれば幸いです。
編集:外側の各反復の後にデータベース、使用しない方法があるfor loop
、データを格納することができますか?例えば、現在含まれているファイルを与えられました
List 0: obj.value1 obj.value2
List 1: obj.value1 obj.value4
...
List 300000: obj.value3 obj.value8
結果は含まれてい
{obj<1, 100>, obj<0, 3>, ...}
各オブジェクトがフォームである場合obj<id, value>
、ファイルがなります
List 0: obj.value1 obj.value2 obj.value3
List 1: obj.value1 obj.value4 obj.value100
...
List 300000: obj.value3 obj.value8
あなたはここにJAXB APIを使用して、XMLファイルに格納することができJAXBにはほとんどのチュートリアルへのリンクです:https://dzone.com/articles/using-jaxb-for-xml-with-java
それとも、また、JSON-シンプルなAPI usin JSONファイルでそれを格納することができここでは別の少しのチュートリアルです:https://stackabuse.com/reading-and-writing-json-in-java/
これらは、MavenのからJAXBとJSON-シンプルをダウンロードするためのリンクです:JAXB:https://mvnrepository.com/artifact/javax.xml.bind/jaxb-api JSON-シンプル:https://mvnrepository.com/artifact/com .googlecode.json-シンプル/ JSON-シンプル
それはあなたに役立つことを願っています