c# List集合学习
1---集合,可以理解成容器 泛型集合 非泛型集合
2---使用集合用到的命名空间 using System.Collections.Generic;
3---集合是如何来的?
集合的前辈是数组,数组在内存中是连续存储的,所以它的索引速度非常快,赋值和修改数据也很方便;
但是数组也有很多不足的地方:比如在数组的两个数据之间插入数据是很麻烦的;还有我们在声明数组的时候,
必须声明数组的长度,声明的长度过长,会造成内存浪费;数组长度过短,会有数据溢出的错误。而C#最新提出了
ArrayList对象来客服这些缺点;
4---常用方法?
Add() Insert(num,"值"); Clear();Remove();Count();RemoveAt();Next(minValue,maxValue);Contains();
5---C#2.0后又会出现List<T>呢?
ArrayList的确定 存储的类型各种各样,存在装箱拆箱的操作;
6---List 声明List集合的时候 要声明集合内数据的对象类型;
6---数组 存储同一种数据类型的容器;1 只能存储同一种数据类型;2 一旦初始化,长度是固定的 3 数组中的元素和元素之间的内存地址是连续的;
object类型的数组和存储任何类型的数据;
ArrayList和List的区别
1 ArrayList对元素的类型没有限制
2 ArrayList对元素的类型没有限制 所以把这些元素当做Object对象来存储
3ArrayList使用时 效率低一些
声明一个List对象
List<string>theVal=new List<string>();
List<"自定义类">ll=new List<"自定义类">();//也可以使用自定义类
//List对元素类型有限制 但ArrayList对元素类型没有限制 可以添加各种类型的元素
//添加元素使用Add()方法
theVal.Add("Hello");
theVal.Add("World");
theVal.Add("Cui");
//使用Insert()方法插入元素 把字符串插入到下标为1的位置
theVal.Insert(1,"hi");
//使用Remove()方法删除指定元素
theValue.Remove("hi");
//使用RemoveAt()删除指定下标的元素
theVal.RemoveAt(1);
//使用count元素获取当前list集合中的元素个数
int num= theVal.count();
//使用Contains()方法判断指定的元素是否存在list集合中
bool b=theVal.Contains("hello");
//使用Clear() 清除整个list集合
theVal.Clear();
二 ArrayList和list不同 可以存储各种类型的元素
ArrayList arr=new ArrayList();
arr.Add("123");
arr.Add("hello");
arr.Add("你好");
//2 因为ArrayList对元素类型没有限制 所以把这些元素当做Object来存储
string str=Convert.ToString(arr[0]);//arr[0]是Object类型
string str1=(string)arr[0];
c# List集合学习的更多相关文章
- 转:深入Java集合学习系列:HashSet的实现原理
0.参考文献 深入Java集合学习系列:HashSet的实现原理 1.HashSet概述: HashSet实现Set接口,由哈希表(实际上是一个HashMap实例)支持.它不保证set 的迭代顺序:特 ...
- 2019/3/4 java集合学习(二)
java集合学习(二) 在学完ArrayList 和 LinkedList之后,基本已经掌握了最基本的java常用数据结构,但是为了提高程序的效率,还有很多种特点各异的数据结构等着我们去运用,类如可以 ...
- 2019/3/2周末 java集合学习(一)
Java集合学习(一) ArraysList ArraysList集合就像C++中的vector容器,它可以不考虑其容器的长度,就像一个大染缸一 样,无穷无尽的丢进去也没问题.Java的数据结构和C有 ...
- ------------------java collection 集合学习 ----小白学习笔记,,有错,请指出谢谢
<!doctype html>java对象集合学习记录 figure:first-child { margin-top: -20px; } #write ol, #write ul { p ...
- C# Stack 集合学习
Stack 集合学习 学习自:博客园相关文章 Stack<T>集合 这个集合的特点为:后进先出,简单来说就是新元素都放到第一位,而且顺序移除元素也是从第一位开始的. 方法一:Push(T ...
- Java集合学习(9):集合对比
一.HashMap与HashTable的区别 HashMap和Hashtable的比较是Java面试中的常见问题,用来考验程序员是否能够正确使用集合类以及是否可以随机应变使用多种思路解决问题.Hash ...
- java集合学习(2):Map和HashMap
Map接口 java.util 中的集合类包含 Java 中某些最常用的类.最常用的集合类是 List 和 Map. Map 是一种键-值对(key-value)集合,Map 集合中的每一个元素都包含 ...
- Java 集合学习--ArrayList
一.ArrayList 定义 ArrayList 是一个用数组实现的集合,支持随机访问,元素有序且可以重复. ①.实现 List 接口 List接口继承Collection接口,是List类的顶层接口 ...
- Java 集合学习--集合概述
一.集合框架 集合,通常也叫容器,java中有多种方式保存对象,集合是java保存对象(对象的引用)的方式之一,之前学习的数组是保存对象的最有效的方式,但是数组却存在一个缺陷,数组的大小是固定的,但是 ...
- Java集合学习(6):LinkedHashSet
一.概述 首先我们需要知道的是它是一个Set的实现,所以它其中存的肯定不是键值对,而是值.此实现与HashSet的不同之处在于,LinkedHashSet维护着一个运行于所有条目的双重链接列表.此链接 ...
随机推荐
- windows, fast-rcnn CPU版本的安装配置
一:安装准备 1:caffe的安装配置,本人用的是happynear大神的caffe版本,具体链接https://github.com/happynear/caffe-windows,编译时需要用到p ...
- Linux 基础入门二
1.远程连接 ssh协议:secure shell ~]# ss -tnl 查看系统是否监听在tcp协议的22号接口: ~]# ip addr list 或者 ifconfig 查看ip地址 确 ...
- cal---显示日历
cal命令用于显示当前日历,或者指定日期的日历. 语法 cal(选项)(参数) 选项 -l:显示单月输出: -3:显示临近三个月的日历: -s:将星期日作为月的第一天: -m:将星期一作为月的第一天: ...
- Python组织文件 实践:将文件的不同版本备份为ZIP文件
功能:备份文件夹.能将文件的不同版本备份下来,并且每个有不同的名字 #! python3 # backupToZip.py - 备份文件的不同版本到压缩文件中 import zipfile,os #f ...
- 洛谷 P1071 潜伏者
P1071 潜伏者 题目描述 R 国和 S 国正陷入战火之中,双方都互派间谍,潜入对方内部,伺机行动.历尽艰险后,潜伏于 S 国的 R 国间谍小 C 终于摸清了 S 国军用密码的编码规则: 1. S ...
- 九、 HBase SHELL、 JAVA 和 Thrift 客户端
HBase 由 Java 语言实现,同时他也是最主要最高效的客户端. 相关的类在org.apache.hadoop.hbase.client 包中.涵盖所有 增删改查 API . 主要的类包含: HT ...
- js插件---图片懒加载lazyload
js插件---图片懒加载lazyload 一.总结 一句话总结:使用异常简单,src里面放加载的图片,data-original里面放原图片,不懂的位置去官网或者github找API就好. 1.laz ...
- net.sf.json Maven依赖配置
转自:https://blog.csdn.net/qq_36698956/article/details/80772984 今天搭框架开始实现前台的json了,于是逐个找适合的框架,发现要实现json ...
- 85.explicit作用
#include <iostream> using namespace std; class myclass { public: int num; public: explicit myc ...
- Android setBackgroundResource和setBackgroundDrawable和用法
两个方法的效果是一样,只是区别于效率! playBtn.setBackgroundResource(R.drawable.pause_selecor); 从上面可以看出来是从资源文件中获取drawab ...