Java collection备忘

初始化ArrayList

List<String> list = new ArrayList<String>(Arrays.asList(
        "a","b","c"
    ));

把Iterable变为Collection

在java8里可以参考下面的方法:

Iterable<T> source = ...;
List<T> target = new ArrayList<>();
source.forEach(target::add);

初始化map的方法

Map<String, Integer> left = ImmutableMap.of("a", 1, "b", 2, "c", 3);
//或者
Map<String, String> test = ImmutableMap.<String, String>builder()
    .put("k1", "v1")
    .put("k2", "v2")
    ...
    .build();

stream

使用stream可以简化容器操作

list to map [3][4]

List<Hosting> list = new ArrayList<>();
list.add(new Hosting(1, "liquidweb.com", 80000));
list.add(new Hosting(2, "linode.com", 90000));
list.add(new Hosting(3, "digitalocean.com", 120000));
list.add(new Hosting(4, "aws.amazon.com", 200000));
list.add(new Hosting(5, "mkyong.com", 1));

Map<Integer, String> result3 = list.stream()
        .collect(Collectors.toMap(x -> x.getId(), x -> x, (oldValue,newValue) -> oldValue));

list to list [5]

List<Integer> nums = Arrays.asList(1, 2, 3, 4);
List<Integer> squareNums = nums.stream()
        .map(n -> n * n)
        .collect(Collectors.toList());

参考文档

  1. Easy way to change Iterable into Collection
  2. JAVA构造MAP并初始化MAP
  3. Java 8 将List转换为Map
  4. 一次Collectors.toMap的问题
  5. Java 8 中的 Streams API 详解
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容