• ArrayList和HashTable妙用二


    ArrayList和HashTable妙用二

    上一篇文章当中我重点介绍了ArrayList及当中的基本用法。在今天的文章当中,我们要重点的介绍HashTable的用法。记得,在我一次找工作的时候,面试了一家叫搜房网的公司。公司的面试官问我一个问题,就是会不会做视频的字幕。忆当年,自己还真的没有这方面的经验。不过我们在学习了这章之后会对播放器的制作打下良好的基础。因为不管是音乐播放器还是视频播放器,里面都有处理歌词、或是台词的内容。了解完这章之后,我们会发现处理这些个内容并不复杂。

    图一、Hashtable

     

    图二、for循环对Hashtable进行的遍历

     

    图三、foreach遍历,请大家注意这点

      这里我们复习一下用foreach遍历数组,集合,以及哈希表。看看它们之间有什么异同。

     

    图四、用foreach遍历 数组 集合 哈希表

      添加命名空间的快捷键:shift+Alt+F10

     

     

    图五、哈希表的特点

      下面主要介绍下哈希表中的方法。

     

    图六、Contains系列方法

     

    图七、Remove

     

    图八、简体转换成繁体

      这道题目用到的知识点,主要就是题目上面我们介绍的知识点。这点需要大家细心的体会一下子。现在做的这道题目,为我们后面讲解字典的做法打下基础。

     

    泛型集合

    List<T>

    就是为了专门处理某种类型

    ArrayList对应的是List<类型名>

    在尖括号中写什么类型,这个集合就变成了什么类型的集合

    添加数据、插入数据、索引访问数据都是这个类型的,不用考虑所有的转化问题

     

    在我们用ArrayList和Hashtable默认的是object类型,拿出来的时候需要转换,比较的麻烦

    所有List<>的出现解决了这一问题。可以定义用户输入的类型。

    下面我们来看看它的写法:

     

    图九、List的写法

     

    图十、list.AddRange

     

    图十一、用循环的方式往里面添加数据

     

    图十二、insert,Max,Min

     

    图十三、sum,average

     

    图十四、判断10个随机生成的数是不是质数

     

    Dictionary<TKey,TValue>

    默认提供命名空间,提倡使用

    Hashable对应的是  Dictionary<键的类型,值得类型>

     

    在尖括号中填入键的类型与值得类型,那么这个集合就变成了一个指定的键值对模型其使用方式与Hashtable一样

     

     

    图十五、dictionary的写法

     

    图十六、往dictionary中放入键和值

     

     

    图十七、简转繁dictionary做法

    到这里我们已经把《ArrayList和HashTable妙用一》当中没有讲完的内容阐述清楚了。我们发现在使用上面List<T>和Dictionary<TKeys,TValue>比之前我们学的ArrayList和HashTable简单一些。这里也请大家注意它们的异同。考虑到知识的完整性,我们还是将这些都写了出来。

     同时,我们发现学了这一段内容之后,就可以做很多有意思的事情了。在之后的文章当中,我们还会对winform基础进行详细的介绍。等到那时,我们就能边在窗体上拖控件,又能边在控制台上面写代码了。

     

    下面的这个练习非常的有意思。大家可以试着做做看。

     

    图十八、拆字,用火星文显示文章内容

     

     

    图十九、新英汉字典解析图

     

    作者近期文章列表:

    C#基础教程(完全免费,献给代码爱好者的最好礼物。注:本 作者分享自己精心整理的C#基础教程,无任何商业目的。希望与 更多的代码爱好者交流心得,也请高手多多指点!!!)
    面向过程 三种循环的比较
    C#中的方法(上)
    我们常见的数组
    面向对象 思想的转变
    C#中超级好用的类
    C#中析构函数和命名空间的妙用
    C#中超级好用的字符串
    C#中如何快速处理字符串
    值类型和引用类型及其它
    ArrayList和HashTable妙用一
    GDI+ 这些年我收集的GDI+代码
    这些年我收集的GDI+代码2
    HTML概述 你不能忽视的HTML语言
    你不能忽视的HTML语言2精编篇
    你不能忽视的HTML语言3
  • 相关阅读:
    大话数据结构--学习目录
    C语言中的 i++ 和 ++i 的区别
    木紫洁,加油
    vue在组件中使用v-model
    vue的v-model指令原理分析
    表格强制换行 table-layout:fixed
    vue引入jquery插件
    vue中使用stylus编写css
    Java单链表简单实现* @version 1.0
    Java中的面向对象I
  • 原文地址:https://www.cnblogs.com/zysbk/p/2625524.html
Copyright © 2020-2023  润新知