# List、Set、Map、数组之间各种转换

List转Set

`Set set = new HashSet(new ArrayList());`

Set转List

`List list = new ArrayList(new HashSet());`

```List arr = Arrays.asList("1", "2", "3");
//或者
String[] arr = {"1", "2"};
List list = Arrays.asList(arr);```

```int[] arr = { 1, 2, 3 };
Set set = new HashSet(Arrays.asList(arr));```

Map的值转化为List

`List list = new ArrayList(map.values());`

Map的值转化为Set

`Set set = new HashSet(map.values());`

List转数组

```List list = Arrays.asList("a","b");
String[] arr = (String[])list.toArray(new String[list.size()]);```

```public class listsetmao {
private static List<String> arrayList;
private static Map<String, String> hashMap;
private static Set<String> hashSet;
private static String[] arr = {"11oneone","22twotwo"};
public static void main(String[] args) {
/*
* //list转set initList(); Set<String> set = new
* HashSet<String>(arrayList);
* System.out.println("arrayList.toString()--->"+set.toString());
* System.out.println("set.toString()--->"+set.toString());
*/
/*
* //set转list initSet(); List<String> list = new
* ArrayList<String>(hashSet);
* System.out.println("hashSet.toString()--->"+hashSet.toString());
* System.out.println("list.toString()--->"+list.toString());
*/
/*
// 数组转为list
List<String> list = Arrays.asList(arr);
System.out.println("list.toString()--->"+list.toString());
*/
/*
//数组转set
Set set = new HashSet<>(Arrays.asList(arr));
System.out.println("set.toString()--->"+set.toString());
*/
/*
//map的值转为list
initMap();
List<String> list = new ArrayList<String>(hashMap.values());
System.out.println("list.toString()--->"+list.toString());
*/
/*
//map的值转为set
initMap();
Set<String> set = new HashSet<String>(hashMap.values());
System.out.println("set.toString()--->"+set.toString());
*/
/*
//map的key转为set
initMap();
Set<String> set = new HashSet<String>(hashMap.keySet());
System.out.println("set.toString()--->"+set.toString());
*/
//list转数组
initList();
String[] arr1 = (String[])arrayList.toArray(new String[arrayList.size()]);
System.out.println("Arrays.toString(arr1)--->"+Arrays.toString(arr1));
}
public static void initList() {
arrayList = new ArrayList<String>();
}
public static void initMap() {
hashMap = new HashMap<String, String>();
hashMap.put("one", "one1");
hashMap.put("two", "two2");
hashMap.put("three", "three3");
}
public static void initSet() {
hashSet = new HashSet<String>();
}

}```

0 条评论

• ### java+内存分配及变量存储位置的区别

Java内存分配与管理是Java的核心技术之一，之前我们曾介绍过Java的内存管理与内存泄露以及Java垃圾回收方面的知识，今天我们再次深入Java核心，详细...

• ### Emmet for Dreamweaver：HTML/CSS代码快速编写神器

Emmet的前身是大名鼎鼎的Zen coding，如果你从事Web前端开发的话，对该插件一定不会陌生。它使用仿CSS选择器的语法来生成代码，大大提高了HTML...

• ### 目标检测第5步-使用keras版YOLOv3训练

1.本文学习Patrick_Lxc的博客《Keras/Tensorflow+python+yolo3训练自己的数据集》并优化其中代码。 原博客链接：https...

• ### 科学瞎想系列之四十七 时空穿越

这个话题可能许多宝宝们都感兴趣，关于时空穿越的故事，宝宝们在科幻电影和小说里经常见到，好奇心驱使人们希望穿越到过去，利用自己已经知道的历史去给过去的人们指点...

• ### 基于知识图谱的问答系统，BERT做命名实体识别和句子相似度

了解知识图谱的基本概念，也做过一些demo的实践，毕竟是做问答方向的，所以就比较关注基于知识图谱的问答。其实构建知识图谱的核心在于命名实体识别和关系抽取，围绕这...

• ### stellar 原

Actions that change things in Stellar, like sending payments, changing your acco...

• ### 十大科学突破预示科学发展三大趋势

新华社华盛顿12月21日电(记者林小春)每到年底，国际科学界公认的权威刊物美国《科学》杂志都会评选十大科学突破，这不仅是对年度科技大事的年终盘点，从中更能看出近...

• ### Julia 的威胁，向 Python 宣战！

近两年，凭借动态特性和易于扩展性，Python 在企业级应用程序、机器学习/人工智能模型、数据科学等工作中，备受开发者青睐，其火热程度早已超越了编程语言界的老牌...

• ### 开启Mac原生NTFS支持

昨天买了一个西数移动硬盘，但是是ntfs格式的，由于我的是mac，所以需要借助第三方，或者开启Mac原生NTFS支持，于是就开始干起来：