如果在Java中向List添加大量數據很慢,可能是因為使用了較慢的數據結構或算法。下面提供幾種可能的解決方案:
使用ArrayList代替LinkedList:ArrayList在添加元素時比LinkedList具有更好的性能,因為它是基于數組實現的,而LinkedList是基于鏈表實現的。所以,如果不需要頻繁的插入和刪除操作,最好使用ArrayList。
設置ArrayList的初始容量:默認情況下,ArrayList的初始容量是10,如果要添加大量數據,可以使用帶有初始容量參數的構造函數來初始化ArrayList,以減少重新分配內存的次數。
List<String> list = new ArrayList<>(1000000); // 根據實際需求設置初始容量
List<String> list = new ArrayList<>(1000000);
Stream<String> stream = Stream.of("data1", "data2", "data3", ...); // 假設有大量的數據
stream.parallel().forEach(list::add);
需要根據具體場景和需求選擇合適的解決方案。另外,如果問題仍然存在,可能需要進一步分析代碼并進行優化,例如使用批量添加數據的方式,或者考慮使用其他數據存儲技術,如數據庫等。