资讯专栏INFORMATION COLUMN

java---List,Set,数组的互相转换

chinafgj / 1763人阅读

摘要:数组与数组通过方法数组数组与数组通过先转之后引入数组通过与构造方法

1. 数组与List 1. List -> 数组
public static void main(String[] args) {
    List list = new ArrayList<>();
    for (int i = 0; i < 5; i++) {
        list.add("i=" + i);
    }
    
    //1. 通过toArray方法
    String[] array = list.toArray(new String[0]);
    
    //2. stream
    String[] array2 = list.stream().toArray(String[]::new);
    
    System.out.println(Arrays.toString(array));
    System.out.println(Arrays.toString(array2));
}
2. 数组 -> List
public static void main(String[] args) {
    String[] str =new String[] {"aaa","bbb","ccc","ffffd"};
    List list2 = new ArrayList<>();
    //1. Arrays.asList()
    List list = Arrays.asList(str);

    //2. Collections.addAll(list, arrays)
    Collections.addAll(list2, str);
    
    //3. stream
    List list3 = Stream.of(str).collect(Collectors.toList());
    
    System.out.println(list.toString());
    System.out.println(list2.toString());
    System.out.println(list3.toString());
}
2. 数组与Set 1. 数组 -> Set
public static void main(String[] args) {
    String[] str =new String[] {"aaa","bbb","ccc","ffffd"};
    
    //1. 通过先转List之后引入Set
    Set set = new HashSet<>(Arrays.asList(str));
    
    //2. stream
    Set set2 = Stream.of(str).collect(Collectors.toSet());
    
    System.out.println(set);
    System.out.println(set2);
}
2. Set -> 数组
public static void main(String[] args) {
    Set set = new HashSet<>();
    set.add("aaa");
    set.add("bbb");
    set.add("ccc");
    set.add("ffffd");
    
    //1. 通过 toArray()
    String[] array = set.toArray(new String[0]);
    //2. stream
    String[] array2 = set.stream().toArray(String[]::new);
    
    System.out.println(Arrays.toString(array));
    System.out.println(Arrays.toString(array2));
}
3. List与Set 1. List -> Set

public static void main(String[] args) {

List list = new ArrayList<>();
list.add("aaa");
list.add("bbb");
list.add("ccc");
list.add("ffffd");

Set set = new HashSet<>(list);

Set set2 = list.stream().collect(Collectors.toSet());

System.out.println(set.toString());
System.out.println(set2.toString());

}

2. Set -> List
public static void main(String[] args) {
    Set set = new HashSet<>();
    set.add("aaa");
    set.add("bbb");
    set.add("ccc");
    set.add("ffffd");
    
    //1. list构造方法
    List list = new ArrayList<>(set);
    
    //2. stream 
    List list2 = set.stream().collect(Collectors.toList());
    
    System.out.println(list.toString());
    System.out.println(list2.toString());
}

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/73617.html

相关文章

  • JS笔记!Map 与其他数据结构互相转换

    摘要:与其他数据结构的互相转换仅作为一个学习笔记供往后翻阅转为数组转为数组最方便的方法,就是使用扩展运算符。对象转为转为转为要区分两种情况。转为转为,正常情况下,所有键名都是字符串。这往往是数组转为的逆操作。 Map 与其他数据结构的互相转换 PS:仅作为一个学习笔记供往后翻阅! (1)Map 转为数组Map 转为数组最方便的方法,就是使用扩展运算符(...)。 const myMap = ...

    Jenny_Tong 评论0 收藏0
  • 深入理解:ES6中Set和Map数据结构,Map与其它数据结构互相转换

    摘要:学习笔记工作中常用到的语法只是简单提及和,今天有空于是写了这篇文章深入理解中的和数据结构,与其它数据结构的互相转换。的提供了新的数据结构。本身是一个构造函数,用来生成数据结构。 文中的内容主要是来自于阮一峰的《ES6标准入门》(第三版)。《学习ES6笔记──工作中常用到的ES6语法》只是简单提及Set和Map,今天有空于是写了这篇文章──《深入理解:ES6中的Set和Map数据结构,M...

    Cristalven 评论0 收藏0
  • Array、Set、Map、Object学习总结

    摘要:和对比都是一个存储多值的容器,两者可以互相转换,但是在使用场景上有区别。可以理解为的方法集合实例属性继承自操作方法遍历方法和数组的转换要求双成员数组值得注意的是的键是跟内存绑定的参考文档和和阮一峰教程 Array和Set对比 都是一个存储多值的容器,两者可以互相转换,但是在使用场景上有区别。如下: Array的indexOf方法比Set的has方法效率低下 Set不含有重复值(可以利...

    Miracle_lihb 评论0 收藏0
  • Array、Set、Map、Object学习总结

    摘要:和对比都是一个存储多值的容器,两者可以互相转换,但是在使用场景上有区别。可以理解为的方法集合实例属性继承自操作方法遍历方法和数组的转换要求双成员数组值得注意的是的键是跟内存绑定的参考文档和和阮一峰教程 Array和Set对比 都是一个存储多值的容器,两者可以互相转换,但是在使用场景上有区别。如下: Array的indexOf方法比Set的has方法效率低下 Set不含有重复值(可以利...

    MiracleWong 评论0 收藏0
  • Array、Set、Map、Object学习总结

    摘要:和对比都是一个存储多值的容器,两者可以互相转换,但是在使用场景上有区别。可以理解为的方法集合实例属性继承自操作方法遍历方法和数组的转换要求双成员数组值得注意的是的键是跟内存绑定的参考文档和和阮一峰教程 Array和Set对比 都是一个存储多值的容器,两者可以互相转换,但是在使用场景上有区别。如下: Array的indexOf方法比Set的has方法效率低下 Set不含有重复值(可以利...

    nicercode 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<