问题描述
- java集合能不能在初始化的时候把元素add进去?
-
比如new arraylist()的时候能不能有类似new arraylist("1111","22222")的构造方法,能把元素一次性添加进去?我的需求是要一个常量的存储集合,然后用contains方法来判断某一个元素是否在这个集合里。不一定要list这个元素,其他集合类型也行,只是我找不到能初始化的时候把元素一次性扔进去的集合类,这个需求有什么简单一点的方法能实现?
解决方案
List isn=Arrays.asList({"4","2","4","5","7"});
解决方案二:
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);
这个弊端是还是需要先创建一个集合,然后以此集合为参数来创建列表。总之这个往集合中添加元素的过程还是少不了的。
解决方案五:
int[] a={3,1,4,2,5};
这样?
解决方案六:
当然可以啊,集合是有这个功能的
时间: 2024-12-04 08:03:23