`
ztbsuper
  • 浏览: 23063 次
  • 性别: Icon_minigender_1
  • 来自: 成都
最近访客 更多访客>>
社区版块
存档分类
最新评论

foreach出来的是神马?

    博客分类:
  • perl
阅读更多
事例1
my %hash=(
  '1-a' => 'a',
  '2-b' => 'b',
  '3-c' => 'c',
  '4-d' => 'd',
  '5-e' => 'e');
  
foreach my $key(keys %hash)
{
  print $key."\n";
  foreach my $dkey(keys %hash)
  {
    delete $hash{$dkey};
  }
}

事例2
my %hash=(
  '1-a' => 'a',
  '2-b' => 'b',
  '3-c' => 'c',
  '4-d' => 'd',
  '5-e' => 'e');
  
foreach my $key(keys %hash)
{
  print $key."\n" if ($hash{$key});
  foreach my $dkey(keys %hash)
  {
    delete $hash{$dkey};
  }
}


发现foreach出来一个hash的key,此key的遍历其实是原hash的key的copy,如果想减少遍历,需要使用事例2的方法,在每次新遍历开始时,测试hash是否有此key的数据
分享到:
评论

相关推荐

    在laravel中怎样使用foreach来遍历数组?视频教程

    在laravel中怎样使用foreach来遍历数组?介绍的是在laravel中怎样使用foreach来遍历数组?

    C#并发实战记录之Parallel.ForEach使用

    C#并发实战记录之Parallel.ForEach使用 本篇文章主要介绍了C#并发实战记录之Parallel.ForEach使用的相关知识点。通过示例代码,详细介绍了Parallel.ForEach的使用方法和优化技巧。 一、使用Parallel.ForEach优化...

    c#中Foreach详细用法

    C#中Foreach详细用法 Foreach语句是C#语言中的一种循环语句,它提供了一个简洁高效的方式来遍历数组、集合、列表等数据结构。在本文中,我们将详细介绍Foreach语句的用法和优点,并与传统的for循环语句进行比较。 ...

    c:forEach标签的使用祥解

    在JavaServer Pages (JSP) 开发中,`c:forEach`标签是Java Expression Language (EL) 和 JavaServer Pages Standard Tag Library (JSTL) 的一部分,它提供了一个方便的方式来迭代数组、集合、Map或其他可迭代的数据...

    C-FOREACH用法

    `C-FOREACH`是JavaServer Pages (JSP)中JSTL (JavaServer Pages Standard Tag Library)的一部分,用于在页面上进行循环遍历。它提供了便利的方式来迭代数组、集合、Map或者其他迭代对象中的元素。在JSP开发中,`C-...

    c#Foreach.rar

    在C#编程语言中,`foreach`循环是一个非常重要的控制流结构,用于遍历集合、数组或枚举类型的元素。这个`c#Foreach.rar`压缩包包含了一个名为`foreach.txt`的文本文件,很可能是对`foreach`用法的简要说明。在这里,...

    For 和 Foreach 的效率问题

    在编程语言中,`for`和`foreach`循环是两种常用的迭代工具,它们在处理集合或数组时发挥着重要作用。本文将深入探讨`for`和`foreach`在C#中的效率差异,以及如何根据具体场景选择合适的循环方式。 首先,`for`循环...

    jstl标签 forEach详解

    jstl forEach 标签详解 jstl forEach 标签是 JavaServer Pages Standard Tag Library (JSTL) 中的一个标签,用于循环控制,可以将集合中的成员循序浏览一遍。该标签的运作方式为当条件符合时,就会持续重复执行的...

    Mybatis批量foreach merge into的用法

    Mybatis批量foreach merge into的用法 Mybatis批量foreach merge into的用法是通过Mybatis的动态SQL语法foreach循环插入实现的,这种方法可以批量插入时间价格表数据。如果某个套餐的某天的价格存在,则更新,不...

    for foreach效率测试代码

    `for` 和 `foreach` 循环在C#中被广泛使用,它们各自有特定的用途和效率特点。本篇将深入探讨这两种循环结构,以及它们在执行大量遍历操作时的性能差异。 `for` 循环是一种灵活的循环结构,适用于需要知道循环次数...

    foreach的使用

    在C++编程中,`foreach`关键字常用于遍历容器中的元素,它是STL(标准模板库)的一部分,提供了一种简洁的迭代器语法来访问序列容器(如vector、list、deque等)或关联容器(如set、map等)中的元素。在VC6.0环境下...

    c:foreach的各种用法

    ### c:foreach 的各种用法详解 在JSP(JavaServer Pages)开发中,`<c:forEach>` 是一个非常重要的标签,它属于JSTL(JavaServer Pages Standard Tag Library)的一部分,主要用于循环处理集合、数组等数据结构。相...

    C#foreach用法案例,使用VS2019编写

    这段代码筛选出`numbers`列表中的偶数并打印出来。 ### 6. 结合异步操作 在VS2019中,你可以使用`async/await`关键字和`foreach`处理异步任务,例如从网络获取数据: ```csharp async Task LoadDataFromApiAsync...

    尽量避免使用foreach2

    避免使用 foreach 避免 GC Alloc 导致的 Unity 游戏卡帧问题 作为 Unity 游戏开发者,我们经常会遇到游戏卡帧的问题,而 GC Alloc 正是造成 Unity 游戏偶尔卡帧的罪魁祸首。那么,为什么 GC Alloc 会导致游戏卡帧呢...

    对Foreach语句测试

    对对Foreach语句测试

    使用foreach循环

    "使用foreach循环" foreach 循环是 Java 语言中的一种特殊循环结构,从 JDK 1.5 之后引入,用于遍历数组和集合元素。它的出现简化了遍历数组和集合元素的过程,使代码更加简洁易读。 使用 foreach 循环遍历数组和...

    Parallel.ForEach的卡死现象(线程操作问题C#源码实例)

    在.NET编程环境中,`Parallel.ForEach`是一个非常有用的并行处理工具,它允许开发者将数据集中的每个元素在多个线程上并行处理,以提高应用程序的执行效率。然而,正如标题所指出的,`Parallel.ForEach`可能会遇到...

    前端开源库-gulp-foreach

    标题“前端开源库-gulp-foreach”提及的核心技术是`gulp-foreach`,这是一个在前端开发中广泛使用的工具,特别是在基于`Gulp.js`的自动化构建流程中。`Gulp`是一个流行的JavaScript任务运行器,它利用Node.js的流...

    foreach遍历数组的顺序

    `foreach`循环是许多编程语言中用于遍历数组或集合的一种简洁语法。本文将深入探讨`foreach`遍历数组的顺序,以及如何理解其背后的逻辑。 首先,我们要知道`foreach`循环的基本语法。在PHP中,`foreach`循环通常...

    测试mybatis里foreach用法

    在MyBatis中,`<foreach>`标签是一个非常重要的元素,它主要用于动态SQL语句的构建,尤其是在处理集合数据类型如List、Array、Map时。`<foreach>`标签的使用可以极大地提高代码的可读性和可维护性,避免了传统的字符...

Global site tag (gtag.js) - Google Analytics