遍历

C# 获取某路径文件夹中全部图片或其它指定格式的文件名(全路径)

笑着哭i 提交于 2019-12-02 15:35:42
1、编写获取文件名(全路径)子函数 /////param///path:文件夹路径///suffix:后缀格式, 如bmp,txt///fileList:文件名存放///isSubcatalog:true遍历子文件夹,否则不遍历void getFiles(string path, string suffix, ref List<string> fileList, bool isSubcatalog) {   string filename;   DirectoryInfo dir = new DirectoryInfo(path);   FileInfo[] file = dir.GetFiles();   //DirectoryInfo[] dii = dir.GetDirectories();//如需遍历子文件夹时需要使用   foreach (FileInfo f in file)   {     filename = f.FullName;     if (filename.EndsWith(suffix))//判断文件后缀,并获取指定格式的文件全路径增添至fileList     {       fileList.Add(filename);     }   }   获取子文件夹内的文件列表,递归遍历 if(isSubcatalog) {    foreach

集合、泛型、Map

白昼怎懂夜的黑 提交于 2019-12-02 15:32:38
集合与数组 集合与数组的区别? 1.集合的长度是可变的,而数组一旦确定长度将无法改变 2.集合只能存储引用类型,而数组可以存储引用类型,也可以存储基本类型 3.集合内的元素可以是不同类型的元素,但是数组只能是同类元素 Collection集合的的功能 常用的方法有: add()添加一个元素 addAll(Collection x)添加一个元素(该元素是一个集合) clear()移除所有元素 remove()移除一个指定元素 contains()判断该集合包含指定元素 containsAll( Collection x) 判断该集合是否包含指定集合 还可以通过例如Iterator< E> iterator()等进行获取该类型元素的集合 size()用来判断集合的长度 isEmpty() 判断集合是否为空 retainAll(Collection c) 可以获取两个集合的公有元素 Object[] toArray() 可以将集合转换成数组 ,然后可用通过遍历该数组从而遍历该集合 也可以使用迭代器迭代 List集合 其可以使元素有序存储,并给每一个元素一个索引。期内的元素可以重复出现 常用的方法有: add(int x ,X x)在指定索引添加指定的元素 remove()删除指定索引的元素 get() 返回指定索引的元素 set( )将指定索引出的元素 替换成另一个元素 List集合

js遍历json对象

旧城冷巷雨未停 提交于 2019-12-02 15:21:57
1. JSON数据 转 字符串 JSON.stringify(jsondata) 2. 字符串 转 JSON JSON.parse(str) 原生js遍历json对象 遍历json对象: 无规律: <script> var json = [   {dd:'SB',AA:'东东',re1:123},   {cccc:'dd',lk:'1qw'} ]; for(var i=0,l=json.length;i<l;i++){   for(var key in json[i]){     alert(key+':'+json[i][key]);   } } </script> 参考资料 js遍历json对象 https://www.cnblogs.com/qingqingzou-143/p/7079725.html JS 中 Map 与 JSON 转换 https://blog.csdn.net/jiangyu1013/article/details/86293815 来源: https://blog.csdn.net/GoOnDrift/article/details/102779260

ES6 Symbol.iterator迭代器

纵饮孤独 提交于 2019-12-02 15:06:47
定义 :Symbol.iterator 为每一个对象定义了默认的迭代器。该迭代器可以被 for…of 循环使用。 描述 : 当需要对一个对象进行迭代时(比如开始用于一个for…of循环中),它的@@iterator方法都会在不传参情况下被调用,返回的迭代器用于获取要迭代的值。 一些内置类型拥有默认的迭代器行为,其他类型(如 Object)则没有。下表中的内置类型拥有默认的@@iterator方法: Array.prototype[@@iterator]() TypedArray.prototype[@@iterator]() String.prototype[@@iterator]() Map.prototype[@@iterator]() Set.prototype[@@iterator]() 示例 : 我们可以像下面这样创建自定义的迭代器: var myIterable = { } myIterable [ Symbol . iterator ] = function * ( ) { yield 1 ; yield 2 ; yield 3 ; } ; console . log ( [ ... myIterable ] ) ; // [1, 2, 3] 不符合标准的迭代器: 如果一个迭代器 @@iterator 没有返回一个迭代器对象,那么它就是一个不符合标准的迭代器

Notes-VBA-遍历

落花浮王杯 提交于 2019-12-02 14:55:02
Sub 遍历() For Each F In Dir遍历 'Office2003遍历,FSO遍历,双字典遍历,CMD遍历,栈遍历,管道遍历,Dir遍历 '此处加入文件处理代码即可。 Selection.InsertAfter F & Chr(13) i = i + 1 Next Selection.InsertAfter i MsgBox "OKOK!!!", vbOKOnly, "OKKO" End Sub Sub 单个文档处理(F) Dim pa As Paragraph, c As Range With Documents.Open(F, Visible:=False) For Each pa In .Paragraphs For Each c In pa.Range.Characters If c.Font.Name = "仿宋" And Abs(Asc(c)) > 128 Then c.Font.Name = "仿宋_GB2312" ElseIf c.Font.Name = "仿宋" And Abs(Asc(c)) < 128 Then c.Font.Name = "Times New Roman" End If Next Next .Close True End With End Sub ' 遍历文件夹 Function CMD遍历() Dim arr Dim t: t

Java中遍历HashMap方式

浪尽此生 提交于 2019-12-02 14:34:22
本教程将为你展示Java中HashMap的几种典型遍历方式。 如果你使用Java8,由于该版本JDK支持lambda表达式,可以采用第5种方式来遍历。 如果你想使用泛型,可以参考方法3。如果你使用旧版JDK不支持泛型可以参考方法4。 1、 通过ForEach循环进行遍历 mport java.io.IOException; import java.util.HashMap; import java.util.Map; public class Test { public static void main(String[] args) throws IOException { Map<Integer, Integer> map = new HashMap<Integer, Integer>(); map.put(1, 10); map.put(2, 20); // Iterating entries using a For Each loop for (Map.Entry<Integer, Integer> entry : map.entrySet()) { System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue()); } } } 2、 ForEach迭代键值对方式

STL stack和queue适配器

一笑奈何 提交于 2019-12-02 14:33:22
一、配接器和容器的区别 适配器是 以容器为底层接口封装的 ,比如stack和queue都是配接器,因为他们都是在deque或者list容器的基础上,进一步封装,形成自己的特性。而deque和list则是完全不依靠其他容器,自己独立实现的。 二、stack stack特征:先进后出,并且只有一个出口,并且无法遍历数据结构中的元素。结构类似下图: stack默认是用deque实现的(也可以使用list),也就是堵住deque的一端。 stack没有迭代器,因为stack无法遍历元素 stack只有新增元素,拿出顶端元素等简单操作。 三、queue queue特征:先进先出,只能从一端进一端出,同样无法遍历元素,结构类似下图: stack默认是用deque实现的(也可以使用list),也就是堵住deque的一端的插入,堵住另一端的取出。 stack没有迭代器,因为stack无法遍历元素。 来源: https://blog.csdn.net/qq_34489443/article/details/102775317

数据结构实验之二叉树三:统计叶子数

血红的双手。 提交于 2019-12-02 14:27:08
数据结构实验之二叉树三:统计叶子数 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Problem Description 已知二叉树的一个按先序遍历输入的字符序列,如abc,,de,g,,f,,, (其中,表示空结点)。请建立二叉树并求二叉树的叶子结点个数。 Input 连续输入多组数据,每组数据 输入一个长度小于50个字符的字符串。 Output 输出二叉树的叶子结点个数。 Sample Input abc,,de,g,,f,,, Sample Output 3 Hint Source xam 这个题跟上一个树的遍历相差不大,就是在遍历的时候记录一下叶子结点的个数即可,如果树的建立和遍历不熟练的同学可以参考我的上一篇博客,写的比较详细希望能帮到。 链接: 二叉树的建立与遍历 具体见代码注释。 AC代码: #include<bits/stdc++.h> using namespace std; char a[100]; int x,y;//这个y是用来记录最后输出的结果的,因为定义了遍历函数,所以要在宏观上进行定义 //但是y在while循环中要记得定义上y=0,以防多次输入数据的累加而造成输出错误 typedef struct node { int data; struct node*lchild,

数据结构实验之二叉树二:遍历二叉树

我只是一个虾纸丫 提交于 2019-12-02 12:48:40
数据结构实验之二叉树二:遍历二叉树 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Problem Description 已知二叉树的一个按先序遍历输入的字符序列,如abc,,de,g,,f,,, (其中,表示空结点)。请建立二叉树并按中序和后序的方式遍历该二叉树。 Input 连续输入多组数据,每组数据 输入一个长度小于50个字符的字符串。 Output 每组输入数据对应输出2行: 第1行输出中序遍历序列; 第2行输出后序遍历序列。 Sample Input abc,,de,g,,f,,, Sample Output cbegdfa cgefdba Hint Source xam 这道题就是考察中序和后序遍历二叉树的规则,如果是中序遍历的话,先遍历左子树,然后输出根节点,之后遍历右子树。而后序遍历则是先遍历左子树,然后是右子树,最后是根节点。其实前中后遍历的方法就是根据根节点遍历的先后顺序来决定的。此外,本题还考察了二叉树的建立,二叉树的建立实际上是充分利用了递归的思想,从根节点逐层递归到叶子结点即最深层结点。本人比较喜欢用链表进行二叉树的建立。因为不容易丢失数据。详情见AC代码。 AC代码: #include<bits/stdc++.h> using namespace std; char a[100]

开发相关笔试题总结(Python)

无人久伴 提交于 2019-12-02 12:47:49
本文记录做过求知相关的笔试题! 1. 写一个迭代器 class Iterator ( object ) : def __init__ ( self , data = [ ] ) : if data : self . data = data else : self . data = [ ] self . num = 0 def __iter__ ( self ) : return self def __next__ ( self ) : if self . num < len ( self . data ) : ret = self . data [ self . num ] self . num += 1 return ret else : raise StopIteration iterator = Iterator ( [ 1 , 2 , 3 , 4 , 5 ] ) print ( iterator . __iter__ ( ) ) print ( iterator . __next__ ( ) ) print ( iterator . __next__ ( ) ) print ( iterator . __next__ ( ) ) print ( iterator . __next__ ( ) ) print ( iterator . __next__ ( ) ) # for