【168、Java 集合之间的转化有什么方式?】

31 阅读1分钟

在 Java 中,可以使用以下方式进行集合之间的转化:

  1. List 转 Set:可以通过构造函数或者 addAll() 方法进行转化。
List<String> list = new ArrayList<>();
Set<String> set = new HashSet<>(list); // 通过构造函数进行转化
Set<String> set = new HashSet<>();
set.addAll(list); // 通过 addAll() 方法进行转化
  1. Set 转 List:可以通过构造函数或者 addAll() 方法进行转化。
Set<String> set = new HashSet<>();
List<String> list = new ArrayList<>(set); // 通过构造函数进行转化
List<String> list = new ArrayList<>();
list.addAll(set); // 通过 addAll() 方法进行转化
  1. List 转 Array:可以使用 toArray() 方法进行转化。
List<String> list = new ArrayList<>();
String[] array = list.toArray(new String[0]);
  1. Array 转 List:可以使用 Arrays.asList() 方法进行转化。
String[] array = {"a", "b", "c"};
List<String> list = Arrays.asList(array);
  1. Map 转 List:可以通过 Map.EntrySet 转化为 Set,然后使用 Set 转 List。
Map<String, String> map = new HashMap<>();
List<Map.Entry<String, String>> list = new ArrayList<>(map.entrySet());
  1. List 转 Map:可以通过遍历 List,将每个元素转化为 key-value 形式,然后添加到 Map 中。
List<Map.Entry<String, String>> list = new ArrayList<>();
Map<String, String> map = new HashMap<>();
for (Map.Entry<String, String> entry : list) {
    map.put(entry.getKey(), entry.getValue());
}

需要根据实际的需求选择合适的集合类和转化方式。注意,在转化过程中需要注意集合之间的类型兼容性。例如,不能将一个 List 转化为 Set,如果 List 中有重复元素,而 Set 不允许重复元素。同时,在转化过程中也需要考虑集合的线程安全性和性能。