使用对象的 n 个克隆创建 java 集合

2023-11-26

在Java中,是否有一种单行方法来创建一个初始化的集合n对象的克隆?

我想要这样的等价物:

  • foo = vector<vector<int> >(10);c++,创建 10 个不同的空向量
  • [ [] for i in range(10) ]Python,由 10 个不同的空数组组成的数组
  • Array.new(10) { [] }Ruby,与 Python 相同

在Java中,我只发现

new ArrayList<ArrayList<Integer> >(Collections.nCopies(10, new ArrayList<Integer>()))

然而,这是not与其他示例等效,因为列出了别名。

有没有一种方法可以创建不同对象克隆的数组,而不使用 for 循环,并且最好不求助于外部库?


如果您使用 Java 8,您可以使用它的流:

Stream.generate(ArrayList<Integer>::new)
    .limit(10).collect(Collectors.toList());

The Stream.generate()方法需要一个Supplier它知道如何产生一个值并生成这些值的无限流(每个值都是通过再次调用供应商获得的,因此它们都是不同的,不像Collections.nCopies())。放置一个limit()流上,然后将结果收集到列表中,从而产生不同条目的列表。

请注意,从 Java 16 开始Stream has a toList()方法,这样可以变得更干净一点:

Stream.generate(ArrayList<Integer>::new).limit(10).toList();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用对象的 n 个克隆创建 java 集合 的相关文章

  • 多线程以原子方式对大量值求和

    我正在开发一个应用程序 其中有大量线程 并且必须自动添加 100 个值 我在用AtomicLong效果很好 但仍需要提高性能 有没有比 AtomicLong 提供更好性能的东西 您可以使用长加法器 https docs oracle com
  • 在记录活动中使用 readConfiguration 方法

    为了在小型 Java 桌面应用程序中使用日志记录 我试图深入了解一些方法的操作 我使用一个非常愚蠢的小Java程序来测试它们 特别是 在测试 LogManager readConfiguration 方法的行为时 我发现了一些奇怪的事情 在
  • 限制执行第三方软件的线程的权限

    我正在开发一个基于 Eclipse 的应用程序 能够执行第三方组件 不是 eclipse plugin 每个组件都有一个列出权限 以及相应动机 的自定义描述符 这样最终用户可以决定是否执行它 组件在单独的线程中执行 如何根据描述符限制这些线
  • 在Java中,为什么equals()和hashCode()必须一致?

    如果我重写类上的任一方法 它必须确保如果A equals B true then A hashCode B hashCode也一定是真的 有人可以给我看一个简单的例子 如果违反了这一点 就会导致问题吗 我认为这与您是否使用该类作为 Hash
  • Log4j 2.x 如何实现惰性参数求值?

    鉴于Java 参数评估机制 http docs oracle com javase specs jls se8 html jls 15 html jls 15 12 4 2 如何Log4j 2 x实施惰性评估 https logging a
  • 使用 Hashmap 理解两个或多个键

    我的哈希图有问题 在我的哈希映射方法中 我希望有两个或多个关键字作为键 而不是只有一个 例如 我希望用户输入一些包含两个或多个关键字的句子 假设 教授姓名 是关键字 例如 String temp3 instructor teacher me
  • java应用程序,线程在终止MySQL连接后挂起

    我有一些工作线程正在运行 其中包括 MySQL 和 mysql connector java 5 1 20 当我杀死一些 SQL 语句 使用 mysql 客户端的kill 连接id 时 java线程挂起 这应该抛出一些异常 jstack 打
  • Java 多态性中的字段如何工作? [复制]

    这个问题在这里已经有答案了 我正在读书面试问题 http javabypatel blogspot in 2016 04 java interview questions html关于java 发现了很好的例子 但感到困惑 因为没有很好 更
  • Finalize() 何时执行? [复制]

    这个问题在这里已经有答案了 在一次采访中我被问到 假设 JVM 在 A 类对象未被使用时运行 gc class A some code here protected void finalize code here 它是否保证finalize
  • 如何更新 Websphere 7 以使用 EL2.2?

    这就是我所做的 按照此林肯 巴克斯特的帖子 http ocpsoft com java jsf2 java jsf2 how to add the magic of el el2 to jsf 我下载了 el api 2 2 jar 和 e
  • Selenium - WebDriver.findElement() 和 WebElement.findElement() 之间的区别

    我正在使用WebElement findElement By cssSelector click 在页面上查找某个元素 但它返回了 Unable to locate element 但是当我使用WebDriver findElement B
  • 使用 ProGuard 混淆代码后如何保持 javadoc 可见?

    我使用 progured 4 7 混淆了我的代码 并保留了 A 类 其中包含描述该类功能的 javadoc keep public class com mysite ClassA public keepattributes InnerCla
  • 在 libgdx 中截取屏幕截图

    我有一个应用程序 我想在其中截取游戏屏幕的屏幕截图并将其保存为图像并上传到 Facebook 我正在使用 Libgdx 我的重点是 android 谁能帮助我如何以编程方式截取游戏屏幕并将其另存为图像 现在相当容易 Libgdx提供了一个例
  • 在java中访问dll方法

    我正在尝试访问java中用c 编写的dll方法 从下面的代码我试图构建已成功生成的 dll using System using Microsoft Win32 namespace CyberoamWinHelper public clas
  • 从java类文件获取apache webcontents文件夹的绝对路径[重复]

    这个问题在这里已经有答案了 需要在动态 Web 应用程序内获取 java 类文件中的绝对路径 实际上我需要获取 apache webapps 文件夹的路径 部署 webapps 的位置 e g apache root webapps my
  • allure2 侦听器在控制台中输出步骤

    我正在使用 Allure2 和 TestNG 我想编写自己的侦听器 在控制台输出中打印 Steps 我在 allure 中看到了 StepLifecycleListener 接口 但我无法在 TestNg 中实现此侦听器 有什么指点吗 Ov
  • GridLayout 中的 JLabel

    如何添加JLabel出于GridLayout 我有一个 8x8 网格布局 Container content getContentPane content setLayout new GridLayout 8 8 2 2 for int f
  • 如何处理JFreeChart中的SpiderWebPlot?

    发现 JFreeChart 我在使用时遇到了问题蜘蛛网情节 http www jfree org jfreechart api javadoc org jfree chart plot SpiderWebPlot html 这就是我今天所拥
  • Java中ThreadFactory的使用

    有人可以简要解释一下如何以及何时使用 ThreadFactory 吗 使用和不使用 ThreadFactory 的示例可能确实有助于理解差异 Thanks 这是一种可能的用法 假设您有一个ExecutorService它执行你的Runnab
  • 从 Java 程序中获取局部变量的名称和类型

    这是我正在尝试的代码 JavaCompiler compilerA ToolProvider getSystemJavaCompiler int resultA compilerA run null null null Users a Do

随机推荐

  • 如何在renderscript和android框架之间交换数据?

    我是渲染脚本的新手 我正在尝试使用 renderscript 添加两个数组元素 我可以通过以下方式将值从 Android 传递给 renderscriptinvoke add方法 为了从 renderscript 返回 Android 框架
  • 如何在隐藏和查看密码之间切换

    有没有一种聪明的方法让用户在 android EditText 中在隐藏和查看密码之间切换 许多基于 PC 的应用程序允许用户执行此操作 自支持库 v24 2 0 以来 这确实很容易实现 你需要做的只是 将设计库添加到您的依赖项中 depe
  • IB Designables:无法渲染和更新 Google 地图的自动布局状态

    我在我的项目中使用 GoogleMaps Pod 我的故事板之一有错误 错误 IB Designables 无法渲染和更新 MapViewController 的自动布局状态 dlopen GoogleMaps framework 1 找不
  • SQL Server 查询 LEFT JOIN、SUM 和 GROUP BY,我被难住了!

    我正在绞尽脑汁地对付这个 我有 3 个 SQL Server 2005 表 用户奖 id awardamount userid dateawarded awardtypeid user id firstname lastname 奖项类型
  • 如何使用 Boost 创建关键部分?

    对于我的跨平台应用程序 我已经开始使用 Boost 但我无法理解如何实现代码来重现 Win32 临界区或 Net 的行为lock 我想写一个方法Foo可以从不同的线程调用来控制对共享字段的写入操作 应允许同一线程内的递归调用 Foo gt
  • C++:偏移到 std::vector 迭代器的正确转换是什么?

    我有一个函数需要std vector双精度数 并将它们复制到另一个向量 但以特定的偏移量 假设有足够的空间 void copy stuff const std vector
  • MarkerWithLabel 停止正常工作

    昨天 2014 年 3 月 4 日 我的 MarkerWithLabel Google 地图 API 应用程序 突然只显示最后一个标记 但标签全部显示 它一直工作得很好 谷歌示例位于 https google maps utility li
  • 通过 PublicKeyToken 防止外部程序集注入

    我正在使用以下代码 AppDomain CurrentDomain AssemblyLoad sender args gt var token args LoadedAssembly GetName GetPublicKeyToken if
  • 如何禁用一个类或整个包的记录器?

    我在用Apache Commons 日志记录 现在我想用SimpleLog实现 但是当我更改级别时 库中的记录器出现了 我希望它能把它们关掉 有没有一种简单的方法来更改整个包的日志级别 Log4j 可以做到这一点 我尝试过设置 org ap
  • Swift 运算符的优先级是什么?

    我想查找一些运算符的优先级 某处有所有这些的列表吗 我还没找到 更新为 Swift 3 0 斯威夫特3 0 现在有一个page在 Swift 文档中 下面列出了所有优先级组 也可以通过命令单击import Swift precedenceg
  • 本地通知的通知服务扩展

    系统将加载通知服务扩展并调用其didReceive withContentHandler iOS 10 中的本地通知 如果是的话我们该怎么做 否 接受的答案描述了通知Content扩展 允许您在展开的通知视图中呈现 ViewControll
  • 如何获取Android中支持的摄像机分辨率?

    我正在编写一个应用程序 允许用户使用手机摄像头捕捉视频 我使用自己的代码来录制视频 而不是 Android 内置的相机应用程序 一切工作正常 除了我需要能够访问支持的相机分辨率列表 以便我可以在运行时选择使用哪一个 我正在寻找类似的东西ge
  • 如何使用 ssh 使用 Nodegit 克隆 git 存储库

    我正在尝试使用库nodegit 版本0 2 4 和ssh从我们的teamforge服务器在node js中克隆git存储库 我们的服务器请求用户进行身份验证 当我尝试仅使用克隆方法而不传递选项时 我收到错误 回调无法初始化 SSH 凭据 我
  • ASP.Net WebAPI OWIN:为什么 Request.GetOwinContext() 返回 null?

    在我的生产代码中 我们遇到了 Request GetOwinContext 始终返回 null 的问题 我设置了一个小型测试 WebAPI 控制器来尝试隔离问题 public class TestController ApiControll
  • 如何正确使用 SET XACT_ABORT ON

    我们最近被空降到一个新的 ETL 项目 该项目的代码非常糟糕 我手中有一个包含 700 行和各种更新的查询 我想用它来调试它SET XACT ABORT ON 目标是如果只有一个事务失败则回滚所有事务 但我找到了几种将其存档在 StackO
  • 为什么 scala 函数限制为 22 个参数?

    并不是说我实际上已经接近这个极限 但我一直想知道 为什么他们停在Function22 Tuple22 JVM 限制 任意选择 函数和元组被编译器重写为对象 并且仅Function0通过Function22 and Tuple0通过Tuple
  • Jinja2 按月/年分组

    我正在尝试按月 年对 Jinja 的日期 时间列表进行分组 这是我现在的代码 for group in EventsList groupby date b group grouper b br for event in group list
  • if 和 if 不为 None 之间的区别

    在编写一些 XML 解析代码时 我收到了警告 FutureWarning The behavior of this method will change in future versions Use specific len elem or
  • .NET 中 UTC 和 GMT 标准时间的差异

    在 NET 中 以下语句返回不同的值 Response Write TimeZoneInfo ConvertTime DateTime Parse 2010 07 01 5 30 00 000 TimeZoneInfo FindSystem
  • 使用对象的 n 个克隆创建 java 集合

    在Java中 是否有一种单行方法来创建一个初始化的集合n对象的克隆 我想要这样的等价物 foo vector