Java集合转换【List<-->数组、List<-->Set、数组<-->Set、Map-->Set、Map-->List】

简介: [java] view plaincopy //List-->数组      List<String> list = new ArrayList<String>();      list.add("tom");      list.add("Jerval");      list.add("Wei
[java]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. //List-->数组     
  2. List<String> list = new ArrayList<String>();     
  3. list.add("tom");     
  4. list.add("Jerval");     
  5. list.add("WeiSi");     
  6. Object[] objects = list.toArray();//返回Object数组     
  7. System.out.println("objects:"+Arrays.toString(objects));     
  8. String[] strings1 = new String[list.size()];     
  9. list.toArray(strings1);//将转化后的数组放入已经创建好的对象中     
  10. System.out.println("strings1:"+Arrays.toString(strings1));     
  11. String[] strings2 = list.toArray(new String[0]);//将转化后的数组赋给新对象     
  12. System.out.println("strings2:"+Arrays.toString(strings2));     
  13. //数组-->List     
  14. String[] ss = {"JJ","KK"};     
  15. List<String> list1 = Arrays.asList(ss);     
  16. List<String> list2 = Arrays.asList("AAA","BBB");     
  17. System.out.println(list1);     
  18. System.out.println(list2);     
  19. //List-->Set     
  20. List<String> list3 = new ArrayList<String>(new HashSet<String>());      
  21. //Set-->List     
  22. Set<String> set = new HashSet<String>(new ArrayList<String>());     
  23. //数组-->Set     
  24. String[] strs = {"AA","BB"};     
  25. Set<String> set2 = new HashSet<String>(Arrays.asList(strs));     
  26. System.out.println(set2);     
  27. //Set-->数组     
  28. Set<String> set3 = new HashSet<String>(Arrays.asList("PP","OO"));     
  29. String[] strSet = new String[set3.size()];     
  30. set3.toArray(strSet);     
  31. System.out.println(Arrays.toString(strSet));     
  32. //Map操作     
  33. Map<String, String> map = new HashMap<String, String>();     
  34. map.put("YYY""UUU");     
  35. map.put("RRR""TTT");     
  36. // 将键转化为Set       
  37. Set<String> mapKeySet = map.keySet();     
  38. // 将值转化为Set       
  39. Set<String> mapValuesSet = new HashSet<String>(map.values());     
  40. // 将值转化为List       
  41. List<String> mapValuesList = new ArrayList<String>(map.values());     
目录
相关文章
|
8天前
|
存储 算法 Java
Java Set深度解析:为何它能成为“无重复”的代名词?
Java的集合框架中,Set接口以其“无重复”特性著称。本文解析了Set的实现原理,包括HashSet和TreeSet的不同数据结构和算法,以及如何通过示例代码实现最佳实践。选择合适的Set实现类和正确实现自定义对象的hashCode()和equals()方法是关键。
20 4
|
8天前
|
Java
那些与Java Set擦肩而过的重复元素,都经历了什么?
在Java的世界里,Set如同一位浪漫而坚定的恋人,只对独一无二的元素情有独钟。重复元素虽屡遭拒绝,但通过反思和成长,最终变得独特,赢得了Set的认可。示例代码展示了这一过程,揭示了成长与独特性的浪漫故事。
15 4
|
8天前
|
Java 开发者
Java Set:当“重复”遇见它,秒变“独宠”!
在Java编程中,Set接口确保集合中的元素不重复,每个元素都是独一无二的“独宠”。本文介绍了Set的两种常见实现:HashSet和TreeSet。HashSet基于哈希表实现,提供高效的添加、删除和查找操作;TreeSet基于红黑树实现,不仅去重还能对元素进行排序。通过示例代码,展示了这两种集合的具体应用,帮助开发者更好地理解和使用Set。
17 4
|
13天前
|
存储 Java 开发者
Java Set:无序之美,不重复之魅!
在Java的集合框架中,Set接口以其“无序之美”和“不重复之魅”受到开发者青睐。Set不包含重复元素,不保证元素顺序,通过元素的hashCode()和equals()方法实现唯一性。示例代码展示了如何使用HashSet添加和遍历元素,体现了Set的高效性和简洁性。
26 4
|
13天前
|
存储 算法 Java
为什么Java Set如此“挑剔”,连重复元素都容不下?
在Java的集合框架中,Set是一个独特的接口,它严格要求元素不重复,适用于需要唯一性约束的场景。Set通过内部数据结构(如哈希表或红黑树)和算法(如哈希值和equals()方法)实现这一特性,自动过滤重复元素,简化处理逻辑。示例代码展示了Set如何自动忽略重复元素。
22 1
|
13天前
|
存储 算法 Java
Java中的Set,你真的了解它的“无重复”奥秘吗?
在Java的广阔天地里,Set以其独特的“无重复”特性,在众多数据结构中脱颖而出。本文将揭秘Set的“无重复”奥秘,带你领略其魅力。Set通过哈希算法和equals()方法协同工作,确保元素不重复。通过一个简单的案例,我们将展示HashSet如何实现这一特性。
24 1
|
14天前
|
存储 Java 开发者
在 Java 中,如何遍历一个 Set 集合?
【10月更文挑战第30天】开发者可以根据具体的需求和代码风格选择合适的遍历方式。增强for循环简洁直观,适用于大多数简单的遍历场景;迭代器则更加灵活,可在遍历过程中进行更多复杂的操作;而Lambda表达式和`forEach`方法则提供了一种更简洁的函数式编程风格的遍历方式。
|
3月前
|
存储 安全 Java
【Java集合类面试二十五】、有哪些线程安全的List?
线程安全的List包括Vector、Collections.SynchronizedList和CopyOnWriteArrayList,其中CopyOnWriteArrayList通过复制底层数组实现写操作,提供了最优的线程安全性能。
|
3月前
|
Java
【Java集合类面试二十三】、List和Set有什么区别?
List和Set的主要区别在于List是一个有序且允许元素重复的集合,而Set是一个无序且元素不重复的集合。
|
27天前
|
安全 Java 程序员
深入Java集合框架:解密List的Fail-Fast与Fail-Safe机制
本文介绍了 Java 中 List 的遍历和删除操作,重点讨论了快速失败(fail-fast)和安全失败(fail-safe)机制。通过普通 for 循环、迭代器和 foreach 循环的对比,详细解释了各种方法的优缺点及适用场景,特别是在多线程环境下的表现。最后推荐了适合高并发场景的 fail-safe 容器,如 CopyOnWriteArrayList 和 ConcurrentHashMap。
53 5