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();
}
}
}

C#面向对象12 集合的更多相关文章

  1. 面向对象之集合ArrayList

    using System; using System.Collections; using System.Collections.Generic; using System.Linq; using S ...

  2. Java阶段性测试--知识点:数组,面向对象,集合、线程,IO流

    #Java基础测试 涉及知识点:数组,面向对象,重载,重写,继承,集合,排序,线程,文件流 一.多项选择题(可能是单选,也可能是多选) 1.下列标识符命名不合法的是(   D  ). A.$_Name ...

  3. Java学习日记-12 集合(2)

    一.List<E>接口(超级接口Collection,List比Collection多重载了一些索引作为形参的方法)1.实现类ArrayList\LinkedListArrayList顺序 ...

  4. 12集合(3)-----Map

    一.总体分类 Collection(包括方法add,remove,contains,clear,size) List(接口) LinkedList ArrayList Vector---Stack 2 ...

  5. 12集合(2)-----Set

    一.总体分类 Collection(包括方法add,remove,contains,clear,size) List(接口) LinkedList ArrayList Vector---Stack 2 ...

  6. 12集合(1)-----List

    一.总体分类 Collection(包括方法add,remove,contains,clear,size) List(接口) LinkedList ArrayList Vector---Stack 2 ...

  7. note 12 集合Set

    集合Set +无序不重复元素(键)集 +和字典类似,但是无"值" 创建 x = set() x = {key1,key2,...} 添加和删除 x.add('body') x.re ...

  8. plsql programming 12 集合(忽略, 个人感觉用不到)

    关联数组, 嵌套表, varray 个人并不推荐使用集合, 因为操作有别于普通字段. 集合中每一个元素的数据类型都是相同的, 因此这些元素都是同质的(同质元素) 这一章的内容先忽略吧, 因为个人感觉用 ...

  9. Java面向对象12——static详解

    static  package oop.demon01.demon07; ​ // static : public class Student { ​     private static int a ...

随机推荐

  1. QT .pro文件中的变量说明

      https://blog.csdn.net/tanou3212/article/details/79942840 TEMPLATE:定义了工程的编译模式 赋值方式为:TEMPLATE=app (1 ...

  2. MAC为Apache2服务器配置多个虚拟主机

    Mac 下自带的 Apache 配置 2016年01月25日 00:25:03 阅读数:1292 参考: http://www.cnblogs.com/snandy/archive/2012/11/1 ...

  3. ERROR 1292(22007)

    ERROR 1292(22007) Table of Contents 1. 1292 1.1. 22007 1 1292   1.1 22007 错误信息 ERROR 1292 (22007): T ...

  4. Sklearn-train_test_split随机划分训练集和测试集

    klearn.model_selection.train_test_split随机划分训练集和测试集 官网文档:http://scikit-learn.org/stable/modules/gener ...

  5. 青岛和深圳,两座条件相似的城市,为何GDP相差这么大

    深圳和青岛,是一对非常有意思的城市.两者都是沿海城市:两者都是所在省的经济强市:两者都是副省级城市,但都不是省会:两者GDP都超过所在省的省会城市.当然,两个城市也有相当大的差距,一个位于南方,一个位 ...

  6. python之NLP数据清洗

    1.知识点 """ 安装模块:bs4 nltk gensim nltk:处理英文 1.安装 2.nltk.download() 下载相应的模块 英文数据处理: 1.去掉h ...

  7. 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_1-1.SpringBoot整合微信支付开发在线教育视频站点介绍

    笔记 第一章项目介绍和前期准备 1.SpringBoot整合微信支付开发在线教育视频站点介绍     简介: 课程介绍,和小D课堂在线教育项目搭建开发 1.课程大纲介绍         2.微信支付项 ...

  8. [ML] Feature Selectors

    SparkML中关于特征的算法可分为:Extractors(特征提取).Transformers(特征转换).Selectors(特征选择)三部分. Ref: SparkML中三种特征选择算法(Vec ...

  9. Windows切换窗口

    方法1  Alt+Tab 切换到自己需要的窗口即可!!!! 方法2 Windows+Tab键

  10. JAVA 基础编程练习题6 【程序 6 求最大公约数及最小公倍数】

    6 [程序 6 求最大公约数及最小公倍数] 题目:输入两个正整数 m 和 n,求其最大公约数和最小公倍数. 程序分析:利用辗除法. package cskaoyan; public class csk ...