需要注意的是, Arrays.asList() 返回一个受指定数组决定的固定大小的列表。所以不能做 add 、 remove 等操作,否则会报错。
Arrays.asList()
add
remove
String[] staffs = new String[]{"Tom", "Bob", "Jane"}; List staffsList = Arrays.asList(staffs);
List staffsList = Arrays.asList(staffs);
staffsList.add("Mary"); // UnsupportedOperationException staffsList.remove(0); // UnsupportedOperationException
如果想再做增删操作呢?将数组中的元素一个一个添加到列表,这样列表的长度就不固定了,可以进行增删操作。
List staffsList = new ArrayList<String>();
for(String temp: staffs){ staffsList.add(temp); } staffsList.add("Mary"); // ok staffsList.remove(0); // ok
String[] staffs = new String[]{"Tom", "Bob", "Jane"}; Set<String> staffsSet = new HashSet<>(Arrays.asList(staffs)); staffsSet.add("Mary"); // ok staffsSet.remove("Tom"); // ok
String[] staffs = new String[]{"Tom", "Bob", "Jane"}; List staffsList = Arrays.asList(staffs); Object[] result = staffsList.toArray();
String[] staffs = new String[]{"Tom", "Bob", "Jane"}; List staffsList = Arrays.asList(staffs); Set result = new HashSet(staffsList);
String[] staffs = new String[]{"Tom", "Bob", "Jane"}; Set<String> staffsSet = new HashSet<>(Arrays.asList(staffs)); Object[] result = staffsSet.toArray();
String[] staffs = new String[]{"Tom", "Bob", "Jane"}; Set<String> staffsSet = new HashSet<>(Arrays.asList(staffs)); List<String> result = new ArrayList<>(staffsSet);
Java中数组、List、Set互相转换介绍到这里,更多java学习请参考编程字典java教程 和问答部分,谢谢大家对编程字典的支持。
原文链接:https://blog.csdn.net/my_precious/article/details/53010232?ops_request_misc=&request_id=&biz_id=102&utm_term=java&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~sobaiduweb~default-8-53010232.nonecase&spm=1018.2226.3001.4450