什么是使用Arrays.asList()来初始化列表的最佳方法 [英] What is the best way of using Arrays.asList() to initialize a List
本文介绍了什么是使用Arrays.asList()来初始化列表的最佳方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我用这个低于code。两者都在我的应用程序正常工作。
案例1。
列表<串GT; coreModules =
新的ArrayList<串GT;(Arrays.asList(
TOOLBAR_TO_DO_LIST
TOOLBAR_PROPERTY
TOOLBAR_PEOPLE
TOOLBAR_INSURANCE
TOOLBAR_BATCH
TOOLBAR_INFORMATION_REFERENCE
TOOLBAR_LR_PROPERTY
TOOLBAR_CASE_FOLDER
TOOLBAR_INSPECTION_RESULT
TOOLBAR_MY_OFFICE));
案例2。
列表<串GT; coreModules =
Arrays.asList(
TOOLBAR_TO_DO_LIST
TOOLBAR_PROPERTY
TOOLBAR_PEOPLE
TOOLBAR_INSURANCE
TOOLBAR_BATCH
TOOLBAR_INFORMATION_REFERENCE
TOOLBAR_LR_PROPERTY
TOOLBAR_CASE_FOLDER
TOOLBAR_INSPECTION_RESULT
TOOLBAR_MY_OFFICE);
不过,我有一些问题:
- 哪一个是更好的性能明智?
- 在这种情况下,preFER案例2?
解决方案
第2种情况是更好的性能明智但是:它返回一个不可变的尺寸列表。这意味着你不能添加/删除它的元素/:
返回的固定尺寸按指定数组支持列表。 (更改返回列表写到数组。)
块引用><一个href=\"http://docs.oracle.com/javase/8/docs/api/java/util/Arrays.html#asList-T...-\"><$c$c>Arrays#asList$c$c>
I use this below code. Both are working fine in my application.
Case 1.
List<String> coreModules = new ArrayList<String>(Arrays.asList( "TOOLBAR_TO_DO_LIST", "TOOLBAR_PROPERTY", "TOOLBAR_PEOPLE", "TOOLBAR_INSURANCE", "TOOLBAR_BATCH", "TOOLBAR_INFORMATION_REFERENCE", "TOOLBAR_LR_PROPERTY", "TOOLBAR_CASE_FOLDER", "TOOLBAR_INSPECTION_RESULT", "TOOLBAR_MY_OFFICE"));
Case 2.
List<String> coreModules = Arrays.asList( "TOOLBAR_TO_DO_LIST", "TOOLBAR_PROPERTY", "TOOLBAR_PEOPLE", "TOOLBAR_INSURANCE", "TOOLBAR_BATCH", "TOOLBAR_INFORMATION_REFERENCE", "TOOLBAR_LR_PROPERTY", "TOOLBAR_CASE_FOLDER", "TOOLBAR_INSPECTION_RESULT", "TOOLBAR_MY_OFFICE");
But I have some questions:
- Which one is better one performance-wise?
- In which case prefer Case 2?
解决方案Case 2 is better performance-wise BUT: it returns a List with an immutable size. Meaning you cannot add/remove elements to/from it:
Returns a fixed-size list backed by the specified array. (Changes to the returned list "write through" to the array.)
这篇关于什么是使用Arrays.asList()来初始化列表的最佳方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文