JAVA JDK8 List获取属性列表

概述

JDK 1.8里,可以使用如下代码获取List元素对象中某个属性的列表。

package test;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
public class ListAttrTest {
  public static void main(String[] args) {
    List<Coupon> couponList = new ArrayList<>();
    Coupon coupon1 = new Coupon(1,100,"优惠券1");
    Coupon coupon2 = new Coupon(2,200,"优惠券2");
    Coupon coupon3 = new Coupon(3,300,"优惠券3");
    couponList.add(coupon1);
    couponList.add(coupon2);
    couponList.add(coupon3);
    List<Integer> resultList = couponList.stream().map(Coupon::getCouponId).collect(Collectors.toList());
    System.out.println(resultList);
  }
}
public class Coupon {
  private Integer couponId;
  private Integer price;
  private String name;
  public Coupon(Integer couponId, Integer price, String name) {
    this.couponId = couponId;
    this.price = price;
    this.name = name;
  }
  public Integer getCouponId() {
    return couponId;
  }
  public void setCouponId(Integer couponId) {
    this.couponId = couponId;
  }
  public Integer getPrice() {
    return price;
  }
  public void setPrice(Integer price) {
    this.price = price;
  }
  public String getName() {
    return name;
  }
  public void setName(String name) {
    this.name = name;
  }
}

打印结果如下:

[1, 2, 3]

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接

(0)

相关推荐

  • Studio 编译报错:compileSdkVersion 'android-24' requires JDK 1.8 or later to compile.的解决办法

    报错翻译: compileSdkVersion android-24"需要JDK 1.8或更高版本编译. 报错现象如下图: 原因:studio默认选择编译的版本为1.8,而当前jdk环境不是1.8.  解决方法: 1. 在build.gradle中查看编译版本 2.查看studio设置,修改studio设置的jdk设置. 方法一:修改JDK,更改为JDK1.8, 方法二:更改studio编译版本.如下图: 总结 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价

  • Spring AOP中的JDK和CGLib动态代理哪个效率更高?

    一.背景 今天有小伙伴面试的时候被问到:Spring AOP中JDK 和 CGLib动态代理哪个效率更高? 二.基本概念 首先,我们知道Spring AOP的底层实现有两种方式:一种是JDK动态代理,另一种是CGLib的方式. 自Java 1.3以后,Java提供了动态代理技术,允许开发者在运行期创建接口的代理实例,后来这项技术被用到了Spring的很多地方. JDK动态代理主要涉及java.lang.reflect包下边的两个类:Proxy和InvocationHandler.其中,Invoc

  • JAVA JDK8 List分组获取第一个元素的方法

    概述 在JAVA JDK8 List分组的实现和用法一文中介绍了JDK 8如何对list进行分组,但是没有提到如何在分组后,获取每个分组的第一个元素.其实这个也很简单,代码如下: package test; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.serializer.SerializerFeature; import java.util.ArrayList; import java.util.List; imp

  • 浅析JDK和Tomcat的安装与配置方法

    一,JDK环境变量;下载地址:HTTP://pan.baidu.com/s/1bpG3KYz 1,新建变量名:JAVA_HOME,变量值:C:\ Program Files \ Java \ jdk1.8.0_31 2,新建变量名:CLASSPATH,变量值:;%JAVA_HOME%\ lib中 3,打开PATH,添加变量值:%JAVA_HOME%\ bin中;%JAVA_HOME%\ JRE \仓 备注: 1,%JAVA_HOME%就是引用前面指定的JAVA_HOME,AVA_HOME就是jd

  • Java基于JDK 1.8的LinkedList源码详析

    前言 上周末我们一起分析了ArrayList的源码并进行了一些总结,因为最近在看Collection这一块的东西,下面的图也是大致的总结了Collection里面重要的接口和类,如果没有意外的话后面基本上每一个都会和大家一起学习学习,所以今天也就和大家一起来看看LinkedList吧! 2,记得首次接触LinkedList还是在大学Java的时候,当时说起LinkedList的特性和应用场景:LinkedList基于双向链表适用于增删频繁且查询不频繁的场景,线程不安全的且适用于单线程(这点和Ar

  • 解决MyEclipse中Maven设置jdk版本jdk1.8报错问题

    今天安装了jdk1.8.tomcat8.和maven3.5.2,弄好后在myeclipse新建了一个maven项目,项目默认是jdk1.5,如图一,我把它改成jdk1.8,项目就报错了,如图二,然后update project后又变成jdk1.5了. 图一: 图二: 解决方法: 打开maven项目的pom.xml文件, 在build节点下加入下面这段代码 ,然后在选中项目右键-->maven4myeclipse-->update project...就能更新为jdk1.8了.如图三,现在项目已

  • JAVA JDK8 List分组的实现和用法

    概述 对List进行分组是日常开发中,经常遇到的,在JDK 8中对List按照某个属性分组的代码,超级简单. package test; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.serializer.SerializerFeature; import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util

  • Linux centOS安装JDK和Tomcat的教程

    首先下载JDK. 这里使用的是jdk-8u181-linux-x64.tar.gz 下载Tomcat. 这里使用的是apache-tomcat-8.5.35.tar.gz 创建目录 $ cd / $ mkdir soft $ cd soft 把安装包放到soft里 可以使用yum命令上传 安装 yum install -y lrzsz rz回车选择文件 安装JDK $ cd /usr $ mkdir java $ tar -zxvf jdk-8u181-linux-x64.tar.gz -C /

  • JDK动态代理与CGLib动态代理的区别对比

    案例: public interface ForumService { void removeTopic(int topicId); void removeForum(int forumId); } 对相关方法进行性能监控 public class ForumServiceImpl implements ForumService { public void removeTopic(int topicId) { // PerformanceMonitor.begin("com.hand.proxy

  • 举例讲解JDK注解的使用和自定义注解的方法

    JDK中的三个基本注解 a.@Override:检查子类确实是覆盖了父类的方法. b.@Deprecated:说明已经过时了. c.@SuppressWarnings({ "unused", "deprecation" }):抑制程序中的警告.unused警告的类型.{}数组.all抑制所有警告. 简单使用: public class Demo1 { //@SuppressWarnings({ "deprecation", "unuse

随机推荐