Java - 从列表/数组中的每个对象获取单个属性的最简单方法?

2023-11-20

假设我有一个 person 对象,其属性如下name, hair color, and eye color。我有以下数组Person[] people包含 person 对象的实例。

我知道我可以得到name一个人的财产Person对象与

// create a new instance of Person
Person george = new Person('george','brown','blue');
// <<< make a people array that contains the george instance here... >>>
// access the name property
String georgesName = people[0].name;

但是如果我想访问name不使用索引的情况下每个人的财产?例如,创建一个仅包含名称或头发颜色的数组或列表?我是否必须手动迭代我的people大批?或者Java中有一些很酷的东西,比如String[] peopleNames = people.name?


两种选择:

  1. 迭代
  2. 流(Java 8)

迭代

List<String> names = new ArrayList<>();
for (Person p : people) {
    names.add(p.name);
}

Streams

String[] names = Arrays.stream(people).map(p -> p.name).toArray(size -> new String[people.length]);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java - 从列表/数组中的每个对象获取单个属性的最简单方法? 的相关文章

  • 如何将jscrollpane添加到jframe?

    我有以下源代码 有人可以给我建议如何将 jscrollpane 添加到 jframe 上吗 我尝试了几次将其添加到 jframe 但没有任何进展 它甚至没有显示 public class Form3 JFrame jframe new JF
  • 为自定义驱动程序创建 GraphicsDevice

    我正在开发一个在嵌入式系统中使用 Java 的项目 我有用于屏幕和触摸输入的驱动程序 以及用于文本输入的虚拟键盘 我的屏幕驱动程序有一个Graphics2D您可以绘制的对象和repaint Rectangle 更新方法 类似地 触摸驱动器能
  • 为什么Iterator接口没有add方法

    In IteratorSun 添加了remove 方法来删 除集合中最后访问的元素 为什么没有add方法来向集合中添加新元素 它可能对集合或迭代器产生什么样的副作用 好的 我们开始吧 设计常见问题解答中明确给出了答案 为什么不提供 Iter
  • Java:从集合中获取第一项

    如果我有一个集合 例如Collection
  • 如何从另一个数组值中过滤数组值并返回新数组? [复制]

    这个问题在这里已经有答案了 我有两个数组 all languages and taken languages 第一个包含所有语言 例如 200 种或其他语言 第二个包含之前选择的语言 从 0 到 200 种 我需要删除所有已采用的语言 ta
  • 在 Java 中通过 XSLT 分解 XML

    我需要转换具有嵌套 分层 表单结构的大型 XML 文件
  • 通过 appassembler-maven-plugin 生成的脚本无法在 Spring Boot 应用程序中找到主类

    我使用 appassembler maven plugin 生成的启动脚本有问题 我有一个基本的 spring boot 应用程序 只有一个类 SpringBootApplication public class ScriptDemoApp
  • 用于缓存的 Servlet 过滤器

    我正在创建一个用于缓存的 servlet 过滤器 这个想法是将响应主体缓存到memcached 响应正文由以下方式生成 结果是一个字符串 response getWriter print result 我的问题是 由于响应正文将不加修改地放
  • Java:如何确定文件所在的驱动器类型?

    Java 是否有一种独立于平台的方法来检测文件所在的驱动器类型 基本上我有兴趣区分 硬盘 可移动驱动器 如 USB 记忆棒 和网络共享 JNI JNA 解决方案不会有帮助 可以假设 Java 7 您可以使用 Java 执行 cmd fsut
  • Spring Data JPA:查询如何返回非实体对象或对象列表?

    我在我的项目中使用 Spring Data JPA 我正在演奏数百万张唱片 我有一个要求 我必须获取各种表的数据并构建一个对象 然后将其绘制在 UI 上 现在如何实现我的 Spring 数据存储库 我读到它可以通过命名本机查询来实现 如果指
  • 我们如何测试包私有类?

    我正在看书Effective Java in Item 13 Minimize the accessibility of classes and members 它提到 为了方便测试 您可能想让类 接口或成员更易于访问 这在某种程度上是好的
  • 如何通过 Android 按钮单击运行单独的应用程序

    我尝试在 Android 应用程序中添加两个按钮 以从单独的两个应用程序订单系统和库存系统中选择一个应用程序 如图所示 我已将这两个应用程序实现为两个单独的 Android 项目 当我尝试运行此应用程序时 它会出现直到正确选择窗口 但是当按
  • 如何停止执行的 Jar 文件

    这感觉像是一个愚蠢的问题 但我似乎无法弄清楚 当我在 Windows 上运行 jar 文件时 它不会出现在任务管理器进程中 我怎样才能终止它 我已经尝试过 TASKKILL 但它对我也不起作用 On Linux ps ef grep jav
  • JAVA中遍历JSON数据

    我是 JSON 新手 我使用 HTTPUrlConnections 并在 JAVA 程序中获得一些响应 响应数据将类似于 data id 1 userId 1 name ABC modified 2014 12 04 created 201
  • 避免 Java 中的重复导入:继承导入?

    有没有办法 继承 导入 Example 常见枚举 public enum Constant ONE TWO THREE 使用此枚举的基类 public class Base protected void register Constant
  • Lombok @Builder 不创建不可变对象?

    在很多网站上 我看到 lombok Builder 可以用来创建不可变的对象 https www baeldung com lombok builder singular https www baeldung com lombok buil
  • 使用Java绘制维恩图

    我正在尝试根据给定的布尔方程绘制维恩图 例如 a AND b AND c我想在 Android 手机上执行此操作 因此我需要找到一种使用 Java 来执行此操作的方法 我找到了一个完美的小部件 它可以完成我在这方面寻找的一切布尔代数计算器
  • 替换文件中的字符串

    我正在寻找一种方法来替换文件中的字符串而不将整个文件读入内存 通常我会使用 Reader 和 Writer 即如下所示 public static void replace String oldstring String newstring
  • HttpClient请求设置属性问题

    我使用这个 HttpClient 库玩了一段时间 几周 我想以某种方式将属性设置为请求 不是参数而是属性 在我的 servlet 中 我想使用 Integer inte Integer request getAttribute obj 我不
  • Array.of 与“[ ]”。何时使用 Array.of 而不是“[ ]”?

    当我发现时我正在读一些书Array of https developer mozilla org en docs Web JavaScript Reference Global Objects Array of 根据 MDN Array o

随机推荐

  • bitbake:如何根据机器添加包?

    我的图像 构建于bitbake 必须包含针对不同机器的不同包 比如说 我需要添加包package1为图像machine1 但不适合machine2 可以加线 IMAGE INSTALL append machine1 package1 到图
  • C# OneDrive for Business / SharePoint:从本地同步文件获取服务器路径

    我正在编写 WPF C 应用程序 并且想要获取本地同步文件的 SharePoint URL 在Windows资源管理器中 用户可以右键单击已同步的OneDrive文件夹中的文件 选择 OneDrive for Business 菜单和 复制
  • 看起来日期活页夹在 asp.net mvc 中工作不正确

    我在 QueryString 中有开始日期 其值为 3 1 2012 DateTime Parse Request QueryString startdate Month 返回月份数 1 但在我的控制器中 我有操作 Index DateTi
  • 绑定到 DataTemplate 中的父 DataContext

    我正在尝试将 MenuItem 的命令绑定到包含在UserControl DataContext 我发现了几个类似的问题 但根据他们的解决方案对我来说失败了
  • 缓存函数结果?

    在 Javascript 中 有没有办法缓存以下函数的结果 A 计算成本昂贵 b 多次调用 以经常调用的递归阶乘函数为例 通常我会创建一个单独的数组 例如facotrialResults 并在计算时将结果添加到其中 factorialRes
  • 构造函数不适用于从 std::string 继承的类

    当做 include
  • 如何使用 chessboard.js(一个 javascript 棋盘)?

    我尝试在这里使用 javascript 棋盘 http chessboardjs com 不幸的是 我不懂 javascript 或 CSS 并且对 HTML 很生疏 所以我不理解文档 尽管这似乎是一个标准的 javascript 棋盘 究
  • Java - 如何在迭代期间引用上一个和下一个元素?

    当我有一个for loop 我用i引用我的数组 对象等的元素 Like 当前项目 myArray i 下一项 myArray i 1 上一条 myArray i 1 但目前 我正在使用foreach loop for Object elem
  • 生成 AES (AES-256) 查找表

    我正在尝试使用 nVidia CUDA 在 CTR 模式下实现 AES 256 我已经成功编写了用于密钥扩展的 CPU 代码 现在我需要实现实际的 AES 256 算法 根据维基百科 我见过的一些代码 特别是this PDF 第 9 页 A
  • R 中数据帧中的舍入值[重复]

    这个问题在这里已经有答案了 我有一个数据框values如下所示 January February March 0 02345 0 03456 0 04567 0 05432 0 06543 0 07654 我需要一个命令将每个值四舍五入到小
  • Files.walk(),计算总大小

    我正在尝试计算光盘上文件的大小 在 java 7 中 可以使用以下命令来完成文件 walkFileTree如我的回答所示here 但是 如果我想使用 java 8 流来执行此操作 它将适用于某些文件夹 但不适用于所有文件夹 public s
  • 编译时需要CUDA硬件吗?

    是否需要安装支持 CUDA 的显卡 在 Linux 中 来编译 CUDA 程序nvcc 或者可以在任何地方编译程序并只在这样的系统上运行 不 编译不需要显卡 您甚至不需要一个来运行该程序 您可以在软件中模拟它 UPDATE好吧 显然 自 C
  • PostgreSQL 选择随机行的最佳方法

    我想在 PostgreSQL 中随机选择行 我尝试了以下方法 select from table where random lt 0 01 但其他一些人推荐这个 select from table order by random limit
  • 如何使用 Papa Parse 从 CSV 文件中提取数据到 React 状态?

    我在用着帕帕 帕斯解析 CSV 文件中的图表 我想将数据存储在反应状态文件解析后 Papa Parse 不返回任何内容 结果异步提供给回调函数 此外 setState 在异步回调中不起作用 这个问题类似于从 CSV 中检索已解析的数据 我尝
  • 在 __destruct() 上更新数据库?

    你认为这是个好主意吗 假设您有一个应用程序组件 其他组件使用该组件来检索 更新数据库中的数据 它基本上是一个具有 get set update 方法的类 对于该组件来说 仅在调用时更新 或设置 其属性中的数据 并在 destruct 上更新
  • Laravel Storage::get() 不返回图像的 exif 数据

    我正在尝试获取图像 exif 数据 以便我可以使用图像干预定位功能 唯一的问题是我无法使用 Storage get 读取 exif 数据 首先 我像这样存储上传的图像 filename uniqid file gt getClientOri
  • 本机调试 Android Studio

    当我通过Genymotion运行Native调试时出现这样的错误 Starting LLDB server run as org cocos2dx cpp empty test data data org cocos2dx cpp empt
  • n 维数组/张量的数据结构,例如 A[0, :, :] 和 A[1, :, :] 可以具有不同的形状

    使用 Python Numpy 我正在处理 n 维数据 最好是在ndarray 这样 1 参差不齐的阵列 例如A 0 A 49 形状可以是 100x100 并且A 50 形状可能为 10000x10000 我不想创建形状为 10000 10
  • Android WebView 带有乱码的 UTF-8 字符。

    我在 android 应用程序中使用一些 webview 但无法使它们以 utf 8 编码显示 如果使用这个 我将看不到我的斯堪的纳维亚角色 mWebView loadUrl file android asset om html 如果尝试这
  • Java - 从列表/数组中的每个对象获取单个属性的最简单方法?

    假设我有一个 person 对象 其属性如下name hair color and eye color 我有以下数组Person people包含 person 对象的实例 我知道我可以得到name一个人的财产Person对象与 creat