我正在尝试将一百万个对象添加到列表中。完成它所需的时间比我有耐心等待的时间长。似乎每一步都需要越来越长的时间来进行。
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
结果非常相似。它快速启动并在某个数字后窒息。
我应该使用什么集合来存储大量类似的元素?我在这里错过了一些简单的东西吗?