java8 从对象集合中取出某个字段的集合,并进行去重排序

  1. import java.util.Arrays; import java.util.List; import
    java.util.stream.Collectors;

    class OrangeTest {

    public static void main(String[] args) {
        //定义list集合
        List<Dome> list = Arrays.asList(new Dome(1, "老大"), new Dome(2, "老二"), new Dome(3, "老三"));
        //从list集合中,取出字段name的列表
        List<String> names = list.stream().map(d -> d.getName()).collect(Collectors.toList());
    
        System.out.println(">>>测试结果>>>"+names);
    } } 
    

    class Dome{
    int id;
    String name;

    public Dome(int id, String name) {
        this.id = id;
        this.name = name;
    }
    
    public int getId() {
        return id;
    }
    
    public void setId(int id) {
        this.id = id;
    }
    
    public String getName() {
        return name;
    }
    
    public void setName(String name) {
        this.name = name;
    } }
    

下面就是我们测试的结果集~~~
在这里插入图片描述
怎么做到对取出数据进行去重、排序等操作呢~

 //定义list集合
        List<Dome> list = Arrays.asList(
                new Dome(1, "老大"),
                new Dome(1, "老大"),
                new Dome(1, "老大"),
                new Dome(9, "老二"),
                new Dome(9, "老二"),
                new Dome(3, "老三"),
                new Dome(3, "老三"));
        //从list集合中,取出字段name的列表
        List<String> ids= list.stream().map(d -> String.valueOf(d.getId())).collect(Collectors.toList());
        System.out.println(">>>原数据结果>>>"+ids);

        List<String> disId = list.stream().map(d -> String.valueOf(d.getId())).distinct().sorted().collect(Collectors.toList());
        System.out.println(">>>id去重排序测试结果>>>"+disId);
		// sorted()是自然序
我们来看下去重并排序的结果:

![在这里插入图片描述](https://img-blog.csdnimg.cn/20200923162634409.png#pic_center)


  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值