C#常见的几种集合 ArrayList,Hashtable,List<T>,Dictionary<K,V> 遍历方法对比

作者:天尽头的那片海 时间:2021-07-25 17:00:04 

一、先来分别介绍一下ArrayList,Hashtable,List<T>,Dictionary<K,V>

1.ArrayList动态数组,保存值的时候比较好用
2.Hashtable以存储键值对的方式存储。value,和key
3.List<T> 和 Dictionary<K,V> 应该是泛型吧,可以保存实体类

二、各种集合的遍历方法演示

1.ArrayList


ArrayList list = new ArrayList();
//for遍历
for (int i = 0; i < list.Count; i++)
{
 SE se = (SE)list[i];
 Console.WriteLine(se.Name);
}
//foreach遍历
foreach (Object obj in list)
{
 SE se = (SE)list[i];
 Console.WriteLine(se.Name);
}

2.Hashtable


Hashtable list = new Hashtable();

//Hashtable不能用索引访问,所以遍历一个Hashtable只能用foreache()方法

//遍历Key
foreach (Object obj in list.Keys)
{
 Console.WriteLine((string)obj);
}
//遍历Value
foreach (Object obj in list.Values)
{
 SE se = (SE)obj;
 Console.WriteLine(se.Name);
}
//同时遍历,DictionaryEntry一个结构
foreach (DictionaryEntry en in list)
{
 Console.WriteLine(se.Keys);
 COnsole.WriteLine(((SE)en.Value).Name);
}

3.List<T>


//for遍历
for (int i = 0; i < list.Count; i++)
{
 //遍历时不需要类型转换
 Console.WriteLine(list[i]);
}
//foreach遍历
foreach (SE obj in list)
{
 //遍历时不需要类型转换
 Console.WriteLine(obj);
}

4.Dictionary<K,V>


//遍历Values
foreach (SE se in list.Values)
{
 //遍历时不需要类型转换
 Console.WriteLine(se);
}

//同时遍历
foreach (KeyValuePair<string, SE> en in list)
{
 Console.WriteLine(en.Key);
 Console.WriteLine(en.Value.Name);
}
//KeyValuePair<TKey,TValue>是一个泛型结构
标签:C#,集合,遍历
0
投稿

猜你喜欢

  • c#动态改变webservice的url访问地址

    2021-10-08 20:13:03
  • 分别在Groovy和Java中创建并初始化映射的不同分析

    2023-11-26 08:15:42
  • java实现LRU缓存淘汰算法的方法

    2022-10-09 00:09:05
  • Spring Cloud动态配置刷新RefreshScope使用示例详解

    2022-05-23 15:05:32
  • C# winform 请求http的实现(get,post)

    2023-03-20 13:52:01
  • 图文精讲java常见分布式事务理论与解决方案

    2023-05-22 19:50:10
  • Java将对象保存到文件中/从文件中读取对象的方法

    2022-06-18 21:26:42
  • Java数据结构之线索化二叉树的实现

    2022-03-16 15:25:34
  • MybatisPlus使用@TableId主键id自增长无效的解决

    2023-01-30 15:59:41
  • Android基于SoftReference缓存图片的方法

    2023-07-13 00:53:21
  • Springboot-Shiro基本使用详情介绍

    2022-10-13 03:02:42
  • SpringCloud Finchley+Spring Boot 2.0 集成Consul的方法示例(1.2版本)

    2023-09-02 13:07:36
  • Mybatis批量插入更新xml方式和注解方式的方法实例

    2022-06-17 18:09:09
  • Springboot 扫描mapper接口的2种操作

    2022-08-04 03:28:54
  • Prometheus 入门教程之SpringBoot 实现自定义指标监控

    2022-08-02 12:58:54
  • Mybatis映射文件实例详解

    2023-06-12 13:08:42
  • Java制作智能拼图游戏原理及代码

    2022-08-02 21:46:57
  • 在java poi导入Excel通用工具类示例详解

    2022-11-11 21:16:00
  • Spring Security和Shiro的相同点与不同点整理

    2023-01-15 17:07:20
  • 基于spring boot 的配置参考大全(推荐)

    2021-11-28 23:32:41
  • asp之家 软件编程 m.aspxhome.com