我有一个String
的数组,我希望能够按照
String[] arrayOfStrings = {"this", "is", "an", "array", "of", "strings"};
List<String> listOfStrings = new ArrayList<String>( arrayOfStrings );
或
List<String> listOfStrings = new ArrayList<String>();
listOfStrings.addAll( arrayOfStrings );
我知道如果我的字符串已经存在于集合中,我可以同时执行这两个操作,并且我可以迭代遍历数组并单独添加它们,但那个有点混乱。
有没有办法用数组初始化List
(或任何集合)?
答案 0 :(得分:10)
您可以使用Arrays.asList
方法,该方法需要var-args
,并返回由数组支持的固定大小的List
。因此,您无法在此列表中添加任何元素。此外,对List
元素所做的任何修改都会反映在array
中。
String[] arrayOfStrings = {"this", "is", "an", "array", "of", "strings"};
List<String> list = Arrays.asList(arrayOfStrings);
或: -
List<String> list = Arrays.asList("this", "is", "an", "array", "of", "strings");
如果要增加此列表的大小,则必须在ArrayList
构造函数中传递它。
List<String> list = new ArrayList<String>(Arrays.asList(arrayOfStrings));
答案 1 :(得分:3)
您可以使用Arrays.asList()
静态方法。
例如:
String[] arrayOfStrings = {"this", "is", "an", "array", "of", "strings"};
List<String> list = Arrays.asList(arrayOfStrings);
请注意,您以这种方式创建“由数组备份”的固定大小列表。如果您希望能够扩展它,则必须采用以下方式:
String[] arrayOfStrings = {"this", "is", "an", "array", "of", "strings"};
List<String> list = new ArrayList<String>(Arrays.asList(arrayOfStrings));
答案 2 :(得分:1)
您可以使用asList()
Arrays.asList(T ... a) 返回由指定数组支持的固定大小的列表。
http://docs.oracle.com/javase/6/docs/api/java/util/Arrays.html
答案 3 :(得分:1)
这可能不完全属于你的问题,但可能值得考虑。
List<String> list = Arrays.asList("this", "is", "an", "array", "of", "strings");
答案 4 :(得分:0)
ArrayList<List<String>> arrayStringMega = new ArrayList<List<String>>(Arrays.asList(Arrays.asList("1","2","3"),Arrays.asList("2","3","4")));