ArrayList和HashTable集合

1.ArrayList集合

***添加元素

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections; namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
//
ArrayList list = new ArrayList(); //集合:很多数据的一个集合,长度可以任意改变,类型随便
//数组:长度不可变,类型单一 list.Add();
list.Add(true);
list.Add("zq");
list.Add('w'); /*
* ToString方法
我们将一个对象输出到控制台 默认情况下 打印的就是这个对象所在的类的命名空间
*/
list.Add(new int []{,,,,,,});
Person p = new Person();
list.Add(p);
list.Add(list); for(int i=;i<list.Count;i++)
{
if(list[i] is Person)
{
((Person)list[i]).Say();
}
else if(list[i] is int[])
{
int[] array = (int[])list[i];
for(int j=;j<array.Length;j++)
{
Console.WriteLine(array[j]);
}
}
else
{
Console.WriteLine(list[i]);
} //Console.WriteLine(list[i]);
} Console.ReadKey();
}
} public class Person
{
public void Say()
{
Console.WriteLine("say!");
}
}
}

***添加集合元素

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections;
using System.IO; namespace ArrayList
{
class Program
{
static void Main(string[] args)
{ System.Collections.ArrayList list = new System.Collections.ArrayList();
list.Add(); //添加集合元素
list.AddRange(new int[] { , , , , , , , , });
list.AddRange(list);
for(int i=;i<list.Count;i++)
{
Console.WriteLine(list[i]);
}
Console.ReadKey(); }
}
}

***集合的操作(插入,删除,清空,反转,排序)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections;
using System.IO; namespace ArrayList
{
class Program
{
static void Main(string[] args)
{ System.Collections.ArrayList list = new System.Collections.ArrayList();
list.Add();
list.Add(true);
//添加集合元素
list.AddRange(new int[] { , , , , , , , , });
list.AddRange(list); //*******************************
//list.Clear();//清空所以元素
//list.Remove(true);//删除单个元素
//list.RemoveAt(0);//根据下标去删除元素
//list.RemoveRange(0, 3);//根据下标去删除一定范围内的元素
//list.Reverse();//反转
//list.Sort();//升序排列
list.Insert(, "insert");//在指定的位置,插入一个元素
list.InsertRange(, list);//在指定的位置,插入一个集合
bool tt= list.Contains();//判断集合包含不包含改元素 for(int i=;i<list.Count;i++)
{
Console.WriteLine(list[i]);
} Console.ReadKey(); }
}
}

***集合的长度

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace ArrayList长度问题
{
class Program
{
static void Main(string[] args)
{
System.Collections.ArrayList list = new System.Collections.ArrayList();
list.Add();
//Count:表示这个集合中实际包含的元素个数
//Capacity:表示这个集合中可以包含的元素个数
Console.WriteLine(list.Count);
Console.WriteLine(list.Capacity); //****
//每次集合中实际包含的个数(count)超过了可以包含的元素个数(Capacity)的时候,
//集合就会在内存中申请多开辟一倍的空间,来保证集合的长度够用。 Console.ReadKey(); }
}
}

2.Hashtable 集合 --> 键值对集合

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections;
using System.Diagnostics; namespace HashTable
{
class Program
{
static void Main(string[] args)
{
Hashtable ht = new Hashtable();
ht.Add(,"");
ht.Add(, "");
ht.Add(true, "True");
ht.Add(false, "False"); ht[] = ""; //在键值对集合中 是根据键去找值得
//Console.WriteLine(ht[true]);
foreach (var item in ht.Keys)
{
Console.WriteLine(ht[item]);
}
//for (int i = 0; i < ht.Count;i++ )
//{
// Console.WriteLine(ht[i]);
//} //键值对里面的键是唯一的,值可以重复! //常用方法:判断键是否唯一
if(!ht.ContainsKey())
{
ht.Add(, "");
}
else
{
Console.WriteLine("已包含");
} //常用方法
ht.Clear();
ht.Remove(); //****
//问:for/foreach 在循环次数很多很多的情况下,谁的效率高
//foreach循环效率要高很多! //****测试程序运行时间
/*
Stopwatch sw = new Stopwatch();
sw.Start();
for (int i = 0; i < 10000000; i++)
{ }
sw.Stop();
Console.WriteLine(sw.Elapsed);
* */ Console.ReadKey();
}
}
}

**C# var 关键字

地址:https://www.cnblogs.com/ggll611928/p/5991401.html

3.简体繁体子转换 用Hasgtable集合

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections; namespace ConsoleApplication2
{
class Program
{
private const string jian = "常数声明可以声明多个常数";
private const string fan = "常2聲明可以聲明多個常數"; static void Main(string[] args)
{
Hashtable ht = new Hashtable(); //Console.WriteLine(jian[1]);
for (int i = ; i < jian.Length; i++)
{
if(!ht.ContainsKey(jian[i]))
{
ht.Add(jian[i], fan[i]);
}
} string input = Console.ReadLine(); for (int i = ; i < input.Length; i++)
{
if(ht.ContainsKey(input[i]))
{
Console.Write(ht[input[i]]);
}
else
{
Console.Write(input[i]);
} }
Console.ReadKey();
}
}
}

最新文章

  1. [python] 创建临时文件-tempfile模块
  2. Win7电脑无法启用无线连接或无线连不上网
  3. 原生态js,鼠标按下后,经过了那些单元格
  4. nRF51822之app_button控制uart的开启和关闭
  5. JAVA容器
  6. 正则 提取html标签value
  7. 在IT学习中的“认识论”
  8. 将数组写入plist文件
  9. 2017多校第10场 HDU 6178 Monkeys 贪心,或者DP
  10. JS工具类
  11. Python对文件的解压和压缩
  12. Linux下main函数启动过程【程序员自我修养笔记】【自用】
  13. SqlServer 案例:已有汽车每日行驶里程数据,计算其每日增量
  14. 【Graphite】Graphite常用函数使用
  15. python中Strip()函数的用法
  16. java锁类型
  17. 2018-2019-2 20165212 《网络对抗技术》Exp3 免杀原理与实践
  18. postgresql主从复制
  19. 2016ACM/ICPC亚洲区沈阳站 Solution
  20. 《FDTD electromagnetic field using MATLAB》读书笔记之一阶、二阶偏导数差商近似

热门文章

  1. 在debian下安装QT 5.10 32位
  2. antd源码分析之——标签页(tabs 1.组件结构)
  3. vs2017+opencv配置参考链接
  4. 前端知识点回顾——HTML,CSS篇
  5. ApkUtils
  6. /lib64/libstdc++.so.6: version `CXXABI_1.3.8’ not found(转载)
  7. Java端使用Batik将SVG转为PNG
  8. 用Python计算三角函数之acos()方法的使用
  9. iOS开发嵌套ReactNative页面
  10. Mrchen测试人生