perl中的哈希表

来源:互联网 发布:尤格萨隆 魔兽数据库 编辑:程序博客网 时间:2024/06/16 07:10

参考:http://blog.csdn.net/xrt95050/article/details/6427481

哈希表的定义:
    %a = ();
    定义哈希表%a, 并初始化为空。
    %a = {"a"=>1, "b"=>2};
    定义哈希表%a, %a中有两个键(key)和键值(value)的对应关系。

哈希表的访问:
    $a{"a"};
    哈希表的访问类似于数组的访问,但是哈希表的索引是key。需要注意在访问哈希表中的元素时需要使用标量的引导符$。

清空哈希表
    undef %a;

提取哈希表中所有的键(key):
    @all_keys = keys %a;
    得到所有的键,但是键的大小是没有顺序的。
    @all_keys = sort{$a{$b}<=>$a{$a}} (keys %a);
    得到所有的键,并按键值从大到小排序。
    @all_keys = sort{$a{$a}<=>$a{$b}} (keys %a);
    按键值从小往大排序。
    @all_keys = sort{$a{$a} cmp $a{$b}} (keys %a);
    是按键值从小往大排序。但是是以字符串进行比较。

判断哈希表是否包含某个键
    exists($a{$key});

遍历哈希表
    foreach keys(%a) {}
    perl提供里一种更有效的遍历方式,使用内嵌的each()函数:
    while( ($key, $value) = each (%a)) {}

向哈希表中添加元素
    $a{$key} = $value;
    向哈希表%a中添加一个$key=>$value的元素

删除哈希表中的元素
    delete($a{$key});

原创粉丝点击