リストに100万個のオブジェクトを追加しようとしています。それをするのにかかる時間は、私が待つ忍耐力よりも長いです。また、各ステップを実行するのに徐々に時間がかかるようです。
int size = 1000000;
Deque<DatastoreElement> content = new LinkedList<DatastoreElement>();
for (int i = 0; i < size; i++) {
String k = Utils.getRandomStringOfLength(20);
String v = Utils.getRandomStringOfLength(300); // goes faster with smaller number
int metaHash = random.nextInt(10) + 1;
KVPair kvp = new KVPair(k, v);
DatastoreElement dse = new DatastoreElement(metaHash, kvp);
content.addLast(dse); // confirmed problem is here
if (i % 10000 == 0) {
System.out.println(i);
}
}
にコンテンツを追加してみましたがList
、Set
非常によく似た結果になりました。それは速く起動し、いくつかの数の後に窒息します。
多数の同様の要素を格納するためにどのコレクションを使用する必要がありますか?ここで簡単なものが欠けていますか?