java集合能不能在初始化的时候把元素add进去?

比如new arraylist()的时候能不能有类似new arraylist("1111","22222")的构造方法,能把元素一次性添加进去?我的需求是要一个常量的存储集合,然后用contains方法来判断某一个元素是否在这个集合里。不一定要list这个元素,其他集合类型也行,只是我找不到能初始化的时候把元素一次性扔进去的集合类,这个需求有什么简单一点的方法能实现?

List isn=Arrays.asList({"4","2","4","5","7"});

int[] a={3,1,4,2,5};

这样?

http://www.2cto.com/kf/201503/384969.html

 List<string> list = new ArrayList<string>(){{
        add("string1");
        add("string2");
        //some other add() code......
        add("stringN");
    }};

稍微简单一点

也可以写在一个字符串,用split然后再循环添加

当然可以啊,集合是有这个功能的

List list=new ArrayList();
Collections.addAll(list,"h e l l o w o r l d'.split(" "));

ArrayList有一个构造函数参数是集合,声明方法为:

 public ArrayList(Collection<? extends E> c)

所以,可以直接用一个集合来创建一个arraylist的,实例代码:

        HashSet<String> hs = new HashSet<String>();
        hs.add("java");
        hs.add("java");
        hs.add("c");
        hs.add("ios");

        ArrayList<String> list = new ArrayList<String>(hs);

这个弊端是还是需要先创建一个集合,然后以此集合为参数来创建列表。总之这个往集合中添加元素的过程还是少不了的。

Lists 工具类 ArrayList list = Lists.newArrayList("1", "2", "3"); 只要参数数据类型一致即可