Java中数组、List、Set互相转换


需要注意的是, Arrays.asList() 返回一个受指定数组决定的固定大小的列表。所以不能做 addremove 等操作,否则会报错。

数组转List

String[] staffs = new String[]{"Tom", "Bob", "Jane"};
List staffsList = Arrays.asList(staffs);
  • 需要注意的是, Arrays.asList() 返回一个受指定数组决定的固定大小的列表。所以不能做 addremove 等操作,否则会报错。

    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


数组转Set

String[] staffs = new String[]{"Tom", "Bob", "Jane"};
Set<String> staffsSet = new HashSet<>(Arrays.asList(staffs));
staffsSet.add("Mary"); // ok
staffsSet.remove("Tom"); // ok

List转数组

String[] staffs = new String[]{"Tom", "Bob", "Jane"};
List staffsList = Arrays.asList(staffs);

Object[] result = staffsList.toArray();

List转Set

String[] staffs = new String[]{"Tom", "Bob", "Jane"};
List staffsList = Arrays.asList(staffs);

Set result = new HashSet(staffsList);

Set转数组

String[] staffs = new String[]{"Tom", "Bob", "Jane"};
Set<String> staffsSet = new HashSet<>(Arrays.asList(staffs));

Object[] result = staffsSet.toArray();

Set转List

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