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)