Java List常用方法Stream()简要总结

 更新时间:2022-12-29   作者:  

一、简介

Java中,ArrayList应该是比较常用的一个对象了;那么它的stream()方法大家了解过吗?


如果可以熟练使用stream()方法,就可以方便地获取list中元素的某个特定字段、对list中的元素进行筛选、或者把list转成map。


下方是常用的4种stream()用法。


(String[] args) {
    Bean bean1 = Bean()Bean bean2 = Bean()Bean bean3 = Bean()ArrayList<Bean> list1 = ArrayList()list1.add(bean1)list1.add(bean2)list1.add(bean3)List<Long> ids = list1.stream().map(bean -> bean.getId()).collect(Collectors.())System..println(ids)ids.remove()List<String> names = list1.stream().filter(bean -> .contains(bean.getId())).map(Bean::getName).collect(Collectors.())System..println(names)Map<LongBean> maps = list1.stream().collect(java.util.stream.Collectors.(Bean::getIde->e))System..println(maps)Set<Long> longs = maps.keySet()(Long l : longs){
        System..print(l++ maps.get(l).getName() + )}
    System..println()Map<LongBean> maps2 = list1.stream().filter(bean -> .contains(bean.getId())).collect(java.util.stream.Collectors.(Bean::getIde->e))System..println(maps2)Set<Long> longs2 = maps2.keySet()(Long l : longs2){
        System..print(l++ maps2.get(l).getName() + )}
    System..println()}

Bean {
    String String (idString nameString address) {
        .= id.= name.= address}

    () {
        }

    (id) {
        .= id}

    String () {
        }

    (String name) {
        .= name}

    String () {
        }

    (String address) {
        .= address}
}

三、总结

(1) list.stream().map().collect()方法,可以获取list中JavaBean的某个字段,转成一个新的list。


(2) list.stream().filter().map().collect()方法,可以对list中的JavaBean进行筛选,保留符合条件的JavaBean,然后将JavaBean中的某个字段,转成一个新的list。


(3) list.stream().collect()方法,可以把list转为map,可以指定list的中的JavaBean的某个字段或JavaBean本身为map的key或value。(或者根据情况自定义map的key与value)


(4) list.stream().filter().collect()方法,可以先筛选出list中符合条件的JavaBean,然后把list转为map,可以指定list的中的JavaBean的某个字段或JavaBean本身为map的key或value。(或者根据情况自定义map的key与value)