mutable 相关问题

可变元可在创建后修改。

将不可变映射转换为可变映射java

我有一个不可变的映射,是从另一部分的方法中获得的。当处理时我想从中删除一个密钥然后进一步使用它,该密钥始终在地图上。 不可变映射 我有一个不可变的映射,是从另一部分的方法中获得的。当处理时我想从中删除一个密钥然后进一步使用它,该密钥始终在地图上。 ImmutableMap<String, Object> immutableMap = doSomethingAndGetImmutableMap(); // convert to mutable Map<String, Object> newMutableMap = ?? newMutableMap.remove("pin"); 是否有任何内置方法可以将不可变映射转换为可变映射java?我看到有几种方法可以做相反的事情,但不是从不可变映射到可变映射。 我使用了Maps.newHashMap,但它是最好、最有效的方法吗? 您可以使用复制构造函数从现有的 HashMap 创建一个新的 Map。 HashMap<String, Object> = new HashMap<>(immutableMap); 请注意,这是一个全新的对象。没有办法使不可变的映射变得可变。那将打破抽象。我想从概念上讲,您可以为不可变映射设计可变包装器,该映射将 changes 存储在第二个(私有)映射结构中。但 Guava 似乎并不支持这一点。 这个还是Maps.newHashMap性能更高? Guava Maps.newHashMap(map) 只是返回 new HashMap<>(map)。该调用将由 JIT 编译内联,因此一旦代码经过 JIT 编译,现代 JVM 上的性能差异应该为零。 您几乎肯定是在浪费时间对此类内容进行微优化: 您应该首先设计和编写应用程序代码并使其运行。 然后你对其进行基准测试。 然后您根据基准测试结果决定应用程序是否需要优化。 然后对其进行分析以确定性能热点在哪里。 然后优化性能热点。 除非有什么非常奇怪的事情,否则按照上述步骤就不会浪费时间问这个问题。套用1 唐纳德·高德纳 (Donald Knuth): “过早优化是万恶之源”. 1 ...并且过度简化/断章取义...

回答 1 投票 0

在 Rust 中抽象可变/不可变引用

我需要消除这段代码中的重复: pub 结构内存 { 布局:内存布局, ROM:Vec, 公羊:Vec, } 实现内存{ pub fn get_mem_vec_ref(&self, a...

回答 1 投票 0

Python 2.7 - 用于左值修改的简洁语法

具有类似结构的类型是很常见的,这些类型不希望被远程复制者修改。 字符串是一个基本的例子,但这是一个简单的例子,因为它是不可变的——Py...

回答 3 投票 0

公开不可变和可变记录类 C#

我想编写一组 C# 记录类,它们提供自身的不可变和可变版本。 这类似于 c# 中提供的 List 和 ReadOnlyList(是的,可以说......

回答 1 投票 0

如何在不可变类中维护可变对象列表

我有不可变类,其中有可变类对象列表。 类不可变 { 最终 int id; 最终字符串名称; 最终列表列表; 不可变(int id,字符串名称,L ...

回答 1 投票 0

在 Rust 中使用多线程更改向量中的元素

我是 Rust 新手,我正在尝试将计算工作分配给线程。 我有字符串向量,我想为每个字符串创建一个线程来完成他的工作。有简单的代码: 使用 std::thr...

回答 3 投票 0

如何计算迭代器适配器链中过滤元素的数量

我有一个应用于初始迭代器的迭代器适配器链(我不知道编译时的数量)。 一个简化的示例是按数字的整除数过滤一系列数字...

回答 1 投票 0

const_cast 与可变和未定义的行为

#包括 结构体 Foo { Foo(const int a) : 总计(a) {} 整数索引 = 0; 常量整型总数; }; 结构栏{ 条形图(const int a) : 总计(a) {} 可变 int 索引...

回答 1 投票 0

将对象存储在静态 Box 中,然后将其作为可变对象检索?

这是 PyO3 的情况。所以Python调用了一个长时间运行的任务。使用 ZeroMQ 消息传递(进程间消息传递*),用户可以命令暂停任务。那时我...

回答 1 投票 0

如何在 if-let 语句中将复制的变量引入为可变变量?

我有一个HashMap,它可以包含循环: 让 mut x: HashMap = HashMap::new(); x.插入(1, 6); x.插入(3, 5); x.插入(5, 1); 要获得 3 的最终值,应该

回答 2 投票 0

在循环中调用使用 `&mut self.0` 的函数 (E0499)

我正在寻找一种方法来解决这种特定情况下缺乏波洛尼乌斯的问题。据我目前的理解,其他答案似乎不适用。 我有两个结构,来源...

回答 1 投票 0

如何将实现多个特征的结构传递给接受这些特征作为 &mut 的函数?

我正在处理一个可以简化为以下代码的问题。结果是错误[E0499]:不能一次多次借用 *dog 作为可变对象。 我很清楚错误的根源,...

回答 1 投票 0

nushell 表更新有效,除非我将结果设置为可变变量

这段代码运行完美: $表|更新列{|行| “一些价值”} |打印 这段代码也可以完美运行: 让 $final_table = $table |更新列{|行| “一些价值”...

回答 1 投票 0

Rust 中的二维向量

编者注:这个问题早于 Rust 0.1(标记为 2013-07-03),并且在语法上不是有效的 Rust 1.0 代码。答案可能仍然包含有价值的信息。 有谁知道如何创建 muta...

回答 4 投票 0

Python 中的赋值“=”行为? [重复]

我是Python(从C/C++)的完全初学者。 我几天来才在 python 上练习,当我观察到以下几行的行为时,我很困惑。 #整数大小写 数字 1 = 1 数字2 = 数字1 打印

回答 3 投票 0

这个例子颠覆了我对所有权和引用范围的理解

//打印: // 字符串-a // 字符串-aaabc fn 主() { 让 mut a = String::from("string-"); 让 s = &mut a; 让 ss = &mut a; // s 超出了这里的范围 SS....

回答 2 投票 0

Rust:这个例子颠覆了我对所有权和引用范围的理解。我很困惑

//打印: // 字符串-a // 字符串-aaabc fn 主() { 让 mut a = String::from("string-"); 让 s = &mut a; 让 ss = &mut a; // s 超出了这里的范围 SS....

回答 1 投票 0

具有可变填充值的Python itertools.zip_longest

在评估网络响应的代码中,我想从多个列表中压缩元素。然而,迭代器的元素是字典的。 因此,我也想填补缺失的值

回答 2 投票 0

C++ 可变关键字如何影响容器的性能?

我想知道可变如何影响容器(地图、向量、列表……)。另外,我需要注意什么?

回答 1 投票 0

应用列表方法和在列表切片上重新分配有什么区别

我不知道问这个问题是否合适。作为Python的新学习者,我试图在我正在使用的教科书和互联网上寻找答案。但我还是不太清楚...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.