C#面向对象12 集合
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 集合的更多相关文章
- 面向对象之集合ArrayList
using System; using System.Collections; using System.Collections.Generic; using System.Linq; using S ...
- Java阶段性测试--知识点:数组,面向对象,集合、线程,IO流
#Java基础测试 涉及知识点:数组,面向对象,重载,重写,继承,集合,排序,线程,文件流 一.多项选择题(可能是单选,也可能是多选) 1.下列标识符命名不合法的是( D ). A.$_Name ...
- Java学习日记-12 集合(2)
一.List<E>接口(超级接口Collection,List比Collection多重载了一些索引作为形参的方法)1.实现类ArrayList\LinkedListArrayList顺序 ...
- 12集合(3)-----Map
一.总体分类 Collection(包括方法add,remove,contains,clear,size) List(接口) LinkedList ArrayList Vector---Stack 2 ...
- 12集合(2)-----Set
一.总体分类 Collection(包括方法add,remove,contains,clear,size) List(接口) LinkedList ArrayList Vector---Stack 2 ...
- 12集合(1)-----List
一.总体分类 Collection(包括方法add,remove,contains,clear,size) List(接口) LinkedList ArrayList Vector---Stack 2 ...
- note 12 集合Set
集合Set +无序不重复元素(键)集 +和字典类似,但是无"值" 创建 x = set() x = {key1,key2,...} 添加和删除 x.add('body') x.re ...
- plsql programming 12 集合(忽略, 个人感觉用不到)
关联数组, 嵌套表, varray 个人并不推荐使用集合, 因为操作有别于普通字段. 集合中每一个元素的数据类型都是相同的, 因此这些元素都是同质的(同质元素) 这一章的内容先忽略吧, 因为个人感觉用 ...
- Java面向对象12——static详解
static package oop.demon01.demon07; // static : public class Student { private static int a ...
随机推荐
- Beta冲刺(1/5)
队名:new game 组长博客:戳 作业博客:戳 组员情况 鲍子涵(队长) 过去两天完成了哪些任务 验收游戏素材 学习Unity 2D Animation系统 接下来的计划 制作游戏需要的人物动画 ...
- leetcode-hard-ListNode-148. Sort List
mycode 97.37% 如果用上一个题目中”参考“的方法,res中放节点而不是val,就会超时 # Definition for singly-linked list. # class Li ...
- VC 实现程序只运行一个实例,并激活已运行的程序
转载:http://blog.sina.com.cn/s/blog_4b44e1c00100bh69.html 进程的互斥运行:CreateMutex函数实现只运行一个程序实例 正常情况下,一个进程的 ...
- rally task配置文件
rally task配置文件 Rally本身提供了一些task配置文件,用于提供测试用例中所需的信息包括场景测试中所传入的参数.运行方式是并行还是串行,context等信息.Rally本身提供的tas ...
- 数据库sequence的作用和用法
转: 数据库sequence的作用和用法 2016年10月14日 19:51:03 很菜很菜的鸟 阅读数 14456 标签: oracle数据库db2sequence seqence的作用: se ...
- 自定义nagios监控脚本---磁盘检测
自定义nagios监控脚本---磁盘检测 1. 在客户端上创建脚本/usr/local/nagios/libexec/check_disk.shvim /usr/local/nagios/libexe ...
- CentOS7出现Unit iptables.service could not be found
CentOS7默认的防火墙不是iptables,而是firewalle. 出现此情况可能是iptables防火墙未安装. #停止firewalld服务 systemctl stop firewalld ...
- R语言与概率统计(一) 描述性统计分析
#查看已安装的包,查看已载入的包,查看包的介绍 ########例题3.1 #向量的输入方法 w<-c(75.0, 64.0, 47.4, 66.9, 62.2, 62.2, 58.7, 6 ...
- python中pip的安装与更新
python -m pip install --upgrade pip --force-reinstall
- laravel如何打印orm封装的sql语句
$query = CdbForumSellthreadSearch::where($params)->orderBy("$orderby", "$ascDesc&q ...