gpt4 book ai didi

arrays - 什么时候在 Perl 中使用数组而不是散列更好?

转载 作者:行者123 更新时间:2023-12-04 03:20:48 25 4
gpt4 key购买 nike

假设你有一个数组 @a = qw/ a b c d/;
和一个散列 %a = ('a' => 1, 'b' => 1, 'c' => 1, 'd' => 1);
是否存在创建数组版本比创建散列更好的情况(除了当您必须像这样遍历所有值时

for (@a){
....

在这种情况下,您必须使用 keys %a如果你使用哈希)?因为测试特定值是否在哈希中总是比在数组中更有效,对吗?

最佳答案


  • 数组由数字索引。
  • 散列由字符串键控。

  • 数组中存在直到最高索引的所有索引。
  • 哈希被稀疏索引。 (例如,“a”和“c”可以在没有“b”的情况下存在。)

  • 有许多紧急属性。主要是,

  • 数组可用于存储有序列表。
  • 以这种方式使用散列将是丑陋且低效的。

  • 除非它是最高索引元素,否则无法从数组中删除元素。
  • 您可以从使用数组实现的有序列表中删除,尽管删除第一个或最后一个以外的元素效率低下。
  • 可以从散列中删除元素,而且效率很高。
  • 关于arrays - 什么时候在 Perl 中使用数组而不是散列更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25313658/

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