C#基础——集合及特殊集合
集合
集合的基本信息:
Systerm.Collections命名空间包含接口和类,这些接口和类定义各种对象(如列表、队列、位数组、哈希表和字典)的集合。
Systerm.Collections.Generic命名空间包含定义泛型集合的接口和类,泛型集合允许用户创建强类型集合,它能提供比非泛型强类型集合更好的类型安全性和性能。
Systerm.Collections.Specicalize命名空间包含专用的和强类型的集合,例如,链接的列表词典、位向量以及只包含字符串的集合。
常用的集合ArrayList类,特殊集合一般会用到Queue队列集合、Stack栈集合还有Hashtable哈希表集合。
集合不同于数组,是一组可变数量的元素的集合,这些元素可能共享某些特征,需要以某种方式一起进行操作。一般来说,这些元素的类型是相同的。
集合与数组的区别:数组是连续的,同一类型数据的一块区域,而集合可以是不连续的,多种数据类型的。
集合:
数组:同一类型,固定长度
集合:不同类型,不固定长度
要使用集合,必须先引用命名空间:
using System.Collections;
定义:
ArrayList arr = new ArrayList();
赋值:
arr.Add("值/变量"); //object类型
object类型:所有类型的基础类型(基类)
获取个数:
arr.Count;
取值:
arr[索引]
插队:
arr.Insert(索引,值/变量)
移除:
arr.Remove(值);
arr.RemoveAt(索引);
反转:
arr.Reverse(); - 全部反转
arr.Reverse(索引,个数); - 指定反转
清空:
arr.Clear();
上面这个集合是弱类型集合
下面这个集合时强类型集合
List<T> T:泛型
List<int> slist = new List<int>();
哈希表集合:弱类型
Hashtable hs = new Hashtable();
字典:强类型
Dictionary<int, string> dic = new Dictionary<int, string>();
--------------------------------------------------------
1、把集合整理一下
2、创建一个集合,1-100的数字
我要这个集合最后的内容是50-90
--------------------------------------------------------------------------
结构体:用户自定义类型
定义位置:定义在Main函数的外面,类的里面
定义格式:
struct 自定义名字
{
public 数据类型 名字;
public 数据类型 名字;
...
...
}
声明实例化:
结构体类型 ss = new 结构体类型();
Student s = new Student();
赋值:
s.???
s.???
C#基础——集合及特殊集合的更多相关文章
- [.net 面向对象编程基础] (17) 数组与集合
[.net 面向对象编程基础] (17) 数组与集合 学习了前面的C#三大特性,及接口,抽象类这些相对抽象的东西以后,是不是有点很累的感觉.具体的东西总是容易理解,因此我们在介绍前面抽象概念的时候,总 ...
- Redis 小白指南(二)- 基础命令和五大类型:字符串、散列、列表、集合和有序集合
Redis 小白指南(二)- 基础命令和五大类型:字符串.散列.列表.集合和有序集合 引言 目录 基础命令 字符串类型 散列类型 列表类型 集合类型 有序集合类型 基础命令 1.获得符合规则的键名列表 ...
- JAVA基础第五章-集合框架Map篇
业内经常说的一句话是不要重复造轮子,但是有时候,只有自己造一个轮子了,才会深刻明白什么样的轮子适合山路,什么样的轮子适合平地! 我将会持续更新java基础知识,欢迎关注. 往期章节: JAVA基础第一 ...
- Java基础19:Java集合框架梳理
更多内容请关注微信公众号[Java技术江湖] 这是一位阿里 Java 工程师的技术小站,作者黄小斜,专注 Java 相关技术:SSM.SpringBoot.MySQL.分布式.中间件.集群.Linux ...
- Java基础-引用数据类型之集合(Collection)
Java基础-引用数据类型之集合(Collection) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.为什么出现集合类 面向对象语言对事物的体现都是以对象的形式,所以为了方便 ...
- Java基础知识强化之集合框架笔记76:ConcurrentHashMap之 ConcurrentHashMap简介
1. ConcurrentHashMap简介: ConcurrentHashMap是一个线程安全的Hash Table,它的主要功能是提供了一组和Hashtable功能相同但是线程安全的方法.Conc ...
- 01 语言基础+高级:1-6 集合_day03【List、Set、Collections工具类】
day03 [List.Set.数据结构.Collections] 主要内容 数据结构 List集合 Set集合 Collections 第一章 数据结构 2.1 数据结构有什么用 我们将常见的数据结 ...
- C# 基础知识系列- 3 集合数组
简单的介绍一下集合,通俗来讲就是用来保管多个数据的方案.比如说我们是一个公司的仓库管理,公司有一堆货物需要管理,有同类的,有不同类的,总而言之就是很多.很乱.我们对照集合的概念对仓库进行管理的话,那么 ...
- Java基础之浅谈集合
Java基础知识.关于List.Set.Map接口的了解,以及ArrayList.LinkedList.HashSet.TreeSet.HashMap.TreeMap...
随机推荐
- java中常用的空判断
Java 判断字符串是否为空的四种方法: 方法一: 最多人使用的一个方法, 直观, 方便, 但效率很低: if(s == null ||"".equals(s));方法二: 比较字 ...
- constrain to margins
如果你点了constrain to margins,左右会有8个点的空挡,而是从8个点后开始计算约束,而没有点时,已屏幕的0点开始计算.
- MySQL连接数据库报时区错误:java.sql.SQLException: The server time zone value
连接MySQL数据库时报以下时区错误信息: java.sql.SQLException: The server time zone value '�й���ʱ��' is unrecognized ...
- Repository 设计模式介绍(转)
在DDD设计中大家都会使用Repository pattern来获取domain model所需要的数据. 1.什么事Repository? "A Repository mediates b ...
- HTML 相同name 传递一个数组
今天发现一个很厉害的东西 在input表单中,name名称可以是一个,后面[],里面跟名称,和数组一样,传递到PHP中也是一个数组 <html> <body> <form ...
- js原生设计模式——7原型模式之new+call(this)组合应用再探讨实例
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8&qu ...
- Windows Server 2012的配置与部署
一. 背景 这里以阿里云Windows Server 2012系统的服务器为主,介绍服务器的配置以及.Net程序的发布顺序,在后续的项目管理文章中,会介绍<运维手册>的写法. 二. 步骤 ...
- WPF学习之数据绑定
WPF中的数据绑定提供了很强大的功能.与普通的WinForm程序相比,其绑定功能为我们提供了很多便利,例如Binding对象的自动通知/刷新,Converter,Validation Rules,Tw ...
- MyBatis 一对多关联查询
sqlxml文件 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC ...
- Servlet RequestDispatcher需要注意的情况
Servlet RequestDispatcher需要注意的情况: 如果使用getServletContext().getRequestDispatcher("/a.do")得到R ...