【问题标题】:Java queue and multi-dimension arrayJava队列和多维数组
【发布时间】:2011-02-17 18:29:59
【问题描述】:

首先,这是我的代码(刚开始学习java):

Queue<String> qe = new LinkedList<String>();

qe.add("b");
qe.add("a");
qe.add("c");
qe.add("d");
qe.add("e");

我的问题:

  1. 是否可以使用两个值将元素添加到队列中,例如:

    qe.add("a","1"); // 其中 1 是整数

所以,我知道元素“a”的值是 1。如果我想给元素 a 添加一个数字,比如说“2”,我会得到 a => 3。

如果不能做到这一点,那么在 java 类中还有什么可以处理这个问题?我尝试使用多维数组,但它有点难以做队列,如pop,push等。(也许我错了)

  1. 如何调用队列中的特定元素?比如,调用元素 a 来检查它的值。

[注意]

请不要给我链接要求我阅读 java 文档。我在读,还是没看懂。我之所以在这里提问是因为,我知道我可以更快、更轻松地找到答案。

【问题讨论】:

  • 你正在寻找一个 HashMap。
  • 哈希映射? brb...谷歌搜索
  • @Konerak:看起来 mashmap 可以做到。那么,hashmap 和 queue 之间的区别基本上是存储的值吗? Hashmap成对存储,队列存储单个值?
  • 我们会给你链接到文档,因为我们不能在这里完全重复它们 - 有太多信息需要解释。如果您在使用特定的 javadocs 时遇到问题,我们很乐意更详细地解释该部分:)
  • 我虽然队列 => 链表有“头”和“指针”??

标签: java collections arrays queue


【解决方案1】:

您希望将Queue&lt;K&gt;Map&lt;K,V&gt; 结合起来:

  • (例如"a", "b")放入Queue&lt;K&gt;
  • 映射分配给Map&lt;K,V&gt;中的(例如"a"=&gt;3

【讨论】:

    【解决方案2】:

    认为您要求的是 Java 中的字典类型。

    Map<String, Integer> map = new HashMap<String, Integer>();
    map.put("a", 1);
    map.put("b", 2);
    

    然后您可以通过键访问它们 - 在这种情况下,您选择作为键的字符串。

    int value = map.get("a");
    

    这种情况下的值将返回 1。

    这是你想要的吗?

    【讨论】:

    • 酷!是的。我想我明白了。无需阅读 java 文档。谢谢
    • 我正在检查是否可以在 hashmap 中进行推送、弹出操作。 brb ^^,
    • 查看堆栈/队列集合
    【解决方案3】:

    您想使用HashMap 而不是LinkedListHashMap 是一种类似字典的结构,允许您创建关联,例如 a=>1。

    查看HashMap 的JavaDocs 以了解如何使用它:-)。

    【讨论】:

    • 当我阅读时,你能告诉我如何访问特定元素吗?喜欢 20 中的第 11 项?
    • 简单,使用HashMap.get("a")。您根据关联的第一侧(键)访问元素,您不能根据它们的索引访问它们(这里没有这样的东西)。但是,如果您愿意,可以迭代整个集合。
    【解决方案4】:

    我认为您要的是LinkedHashMap,它是队列和哈希映射的组合。虽然您可以存储键值对,但它也会像 Queue 一样记住顺序。唯一的问题是您必须使用迭代器,因为没有 poll() 方法,但是您可以按照添加顺序访问每个元素。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-19
      • 2017-05-06
      • 2011-03-20
      • 2012-04-27
      • 1970-01-01
      • 1970-01-01
      • 2016-08-19
      • 2013-11-09
      相关资源
      最近更新 更多