gpt4 book ai didi

java - 如何更好地跟踪 Java 中的索引(相对于 Python)

转载 作者:太空宇宙 更新时间:2023-11-03 18:16:04 25 4
gpt4 key购买 nike

在Python中,你可以在列表中存储各种类型的不同项目,但是访问它们必须通过它们各自的索引或列表方法来完成。

使用Python字典,你可以将键映射到项目,这样就不必不断记住哪个索引有哪个项目。

Python 字典非常容易编写:

mydic = {"item1":True, "item2":True, "item3":True}

而且也很容易访问:

if mydic["item1"]:
localvar = mydic["item1"]
mydic["item1"] = False

同样,在 Java 中我也尝试做同样的事情,尽管我发现它要复杂得多:

//this program assumes the creation of a class and method//
HashMap<String, Boolean> mydic = new HashMap<String, Boolean>();
mydic.put("item1", false); mydic.put("item2", false); mydic.put("item3", false);

并且特别难以访问:

boolean localvar = mydic.get("item1");
if (localvar){
mydic.remove("item1");
mydic.put("item1", false);
} else {
localvar = null;
}

现在我不想比较语言,如果我这样做,老实说 Java 可能会获胜。然而,创建项目和值的 HashMap ,然后将它们转换回 boolean 值,然后添加和删除以将值更改为 true,这似乎会适得其反。

现在,在 boolean 值的情况下,我知道可以选择位集,但是如果项目有三种可能性而不是两种,即怎么办?开/中立/关?

我还考虑了传递变量并与列表协调的可能性(在Python中看起来像这样)

item1, item2, item3 = 0, 1, 2
list = [True, True, True]
def afunction(item1, item2, item3, itemlist):
itemlist[item1] = False

我实际上不确定你是否可以使用该语法 项目列表[项目1] = False在Java中。然而我最关心的是内存要求和做事的方式这对于 java 来说是最有意义的。

任何和所有的输入表示赞赏,

最佳答案

是的,Java 的语法在这方面比 Python 的语法更详细。
这里没有太多要回答的。就是这样。

这是 Java 世界中非常好的/标准的编码方式。我不
看看它有什么问题,或者这里有什么可以简化的地方。

//this program assumes the creation of a class and method//
HashMap<String, Boolean> mydic = new HashMap<String, Boolean>();
mydic.put("item1", false); mydic.put("item2", false); mydic.put("item3", false);

关于你的这张便条...

this program assumes the creation of a class and method

...好吧,每个 Java 程序至少有一个类和至少一个方法,所以这也没关系。

关于java - 如何更好地跟踪 Java 中的索引(相对于 Python),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24986226/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com