什么是使用Arrays.asList()来初始化列表的最佳方法 [英] What is the best way of using Arrays.asList() to initialize a List

查看:998
本文介绍了什么是使用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);

不过,我有一些问题:


  1. 哪一个是更好的性能明智?

  2. 在这种情况下,preFER案例2?


解决方案

第2种情况是更好的性能明智但是:它返回一个不可变的尺寸列表。这意味着你不能添加/删除它的元素/:


  

返回的固定尺寸​​按指定数组支持列表。 (更改返回列表写到数组。)


<一个href=\"http://docs.oracle.com/javase/8/docs/api/java/util/Arrays.html#asList-T...-\"><$c$c>Arrays#asList

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:

  1. Which one is better one performance-wise?
  2. 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

这篇关于什么是使用Arrays.asList()来初始化列表的最佳方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆