C#编程-36:数组与ArrayList基础复习

简介: C#编程-36:数组与ArrayList基础复习

数组;

1、数组可以是一维、多维或交错的。

2、创建数组实例时,将建立纬度数量和每个纬度的长度。 这些值在实例的生存期内无法更改。

3、数值数组元素的默认值设置为零,而引用元素设置为 null。

4、交错数组是数组的数组,因此其元素为引用类型且被初始化为 null。

5、数组从零开始编制索引:包含 n 元素的数组从 0 索引到 n-1。

6、数组元素可以是任何类型,其中包括数组类型。

7、数组类型是从抽象的基类型 派生的引用类型。 由于此类型实现 和 ,因此可以在 C# 中的所有数组上使用 foreach 迭代。


长度: Array.Length

维度; Array.Rank


1、数组声明:

(1) int[] array = new int[5];                     // 级别说明符,未知数组元素

(2)int[] array1 = new int[] { 1, 3, 5, 7, 9 };

(3)int[] array1 =  { 1, 3, 5, 7, 9 };             //已知数组元素

(4)int[] array3;

array3 = new int[] { 1, 3, 5, 7, 9 };   // OK

//array3 = {1, 3, 5, 7, 9};   // Error


未知数组元素,new声明

已知数组元素,字面值声明;

数组大小一定是一个常量(const)

数组一旦给定大小就是固定的,不能在改变。


2、数组遍历

for

foreach()推荐,避免越界

获取第n维数组长度:array.GetLength(n)

获取第n维数组下界:array.GetLowerBound(n)

获取第n维数组上界:array.GetUpperBound(n)

获取数组元素:array.GetValue(n,m)等价于array[n,m]

数组由System.Array类派生


3、数组的查找

第一次出现:Array.IndexOf(array,value)

最后一次出现:Array.LastIndexOf(array,value)

二分查找第一次出现:Array.BinarySearch(array,value)

(System.Collections.IList)array.Contains()


4、数组的排序

Array.Sort(array)

Array.Reverse(array);


5、数组的拷贝(合并与拆分)

Array.Copy()四个重载


6、动态数组ArrayList

using System.Collections;

ArrayList:长度不固定,类型随意

数组:长度固定,类型单一

属性:

Count

Capacity


7、ArrayList添加元素的方法

Add(value)

AddRange(collection)


8、ArrayList元素删除

(1)Remove(value);

(2)RemoveAt(index);

(3)RemoveRange(index,count);

(4)Clear();   //清除所有元素;


9、ArrayList遍历

foreach和object


10、ArrayList查找

(1)IndexOf(value)

(2)LastIndexOf(value)

(3)BinarySearch(value)类型不一致会报异常


冒泡排序法

相关文章
|
存储 Java 索引
【面试题精讲】ArrayList 和 Array(数组)的区别?
【面试题精讲】ArrayList 和 Array(数组)的区别?
|
4月前
|
存储 Java 索引
《令狐带你阅读JDK源码之简单集合ArrayList》
《令狐带你阅读JDK源码之简单集合ArrayList》
44 0
|
2月前
|
存储 Java 程序员
ArrayList 和 LinkedList 谁更适合你的项目?这篇文章告诉你!
大家好!我是小米,今天来分享 ArrayList 和 LinkedList 的区别。通过对比它们的特点和适用场景,帮助你在实际开发中做出最优选择。ArrayList 适用于查询频繁的场景,而 LinkedList 则在插入和删除操作较多时更胜一筹。希望今天的分享对你有帮助!我是小米,下次再见!
46 1
|
6月前
|
存储 安全 Java
java集合框架复习----(2)List
这篇文章是关于Java集合框架中List集合的详细复习,包括List的特点、常用方法、迭代器的使用,以及ArrayList、Vector和LinkedList三种实现类的比较和泛型在Java中的使用示例。
java集合框架复习----(2)List
|
6月前
|
存储 安全 Java
java集合框架复习----(4)Map、List、set
这篇文章是Java集合框架的复习总结,重点介绍了Map集合的特点和HashMap的使用,以及Collections工具类的使用示例,同时回顾了List、Set和Map集合的概念和特点,以及Collection工具类的作用。
java集合框架复习----(4)Map、List、set
|
6月前
|
存储 Java
java集合框架复习----(3)Set
这篇文章详细介绍了Java集合框架中的Set集合,包括HashSet和TreeSet的特点、实现原理和使用示例,展示了Set集合的无序性、元素唯一性以及如何通过自定义比较器实现元素的排序。
|
9月前
|
存储 算法
【数据结构与算法 | 基础篇】模拟ArrayList实现的“动态数组“
【数据结构与算法 | 基础篇】模拟ArrayList实现的“动态数组“
|
8月前
|
存储 安全 Java
《ArrayList & HashMap 源码类基础面试题》面试官们最喜欢问的ArrayList & HashMap源码类初级问,你都会了?
《ArrayList & HashMap 源码类基础面试题》面试官们最喜欢问的ArrayList & HashMap源码类初级问,你都会了?
51 0
|
9月前
|
存储 安全 算法
【深入探究Java集合框架】从List到Map的完整指南
【深入探究Java集合框架】从List到Map的完整指南
106 0
|
测试技术 容器
集合框架知识总汇之(list集合)
集合框架知识总汇之(list集合)
44 0