数组ArrayList

using System.Collections;   //表示引入集合的命名空间

数组ArrayList容量本身是不固定的,根据存储的数据动态变化

// 声明一个ArrayList对象
ArrayList arrList = new ArrayList();
// 可以在数组中任意添加元素
arrList.Add(12);
arrList.Add(5);
arrList.Add(9);
Console.WriteLine("数组的容量是:" + arrList.Capacity);

输出ArrayList元素:每个放到ArrayList里的数组元素都会转换为object类型存放

foreach(object o in arrList)
{
Console.WriteLine(o);
}

排序

Console.WriteLine("排序后的ArrayList的元素是:");
arrList.Sort();
foreach(object o in arrList)
{
Console.WriteLine(o);
}

ArrayList的增加与删除元素

想ArrayList插入元素

arrList.Insert(0, 78);
foreach(object o in arrList)
{
Console.WriteLine(o);
}

删除ArrayList元素

arrList.Remove(78); 通过元素值删除某个元素

arrList.RemoveAt(1); 通过索引删除

arrList.Remove(78);     // 通过元素值删除某个元素
arrList.RemoveAt(1); // 通过索引删除
Console.WriteLine("删除后的元素:");
foreach (object o in arrList)
{
Console.WriteLine(o);
}

在5个学生中随机抽取2个学生名字

using System;
using System.Collections; //表示引入集合的命名空间 namespace ConsoleApp4
{
class Program
{
static void Main(string[] args)
{
ArrayList stuNames = new ArrayList();
stuNames.Add("Alex");
stuNames.Add("Bob");
stuNames.Add("Kate");
stuNames.Add("Chale");
stuNames.Add("Max");
ArrayList selecList = new ArrayList();
// 抽取两个不同的学生
for(int i = 1; i <= 2; i++)
{
while (true)
{
int randIndex = new Random().Next(0, 5); //抽取0-4,不包含5
if (selecList.Contains(stuNames[randIndex])) //重复抽取
{
continue;
}
else
{
selecList.Add(stuNames[randIndex]);
break;
}
}
}
Console.WriteLine("抽取出来的两名学生:");
foreach(object o in selecList)
{
Console.WriteLine(o);
}
}
}
}

C#基础-数组-ArrayList的更多相关文章

  1. Java基础系列-ArrayList

    原创文章,转载请标注出处:<Java基础系列-ArrayList> 一.概述 ArrayList底层使用的是数组.是List的可变数组实现,这里的可变是针对List而言,而不是底层数组. ...

  2. [数据结构1.2-线性表] 动态数组ArrayList(.NET源码学习)

    [数据结构1.2-线性表] 动态数组ArrayList(.NET源码学习) 在C#中,存在常见的九种集合类型:动态数组ArrayList.列表List.排序列表SortedList.哈希表HashTa ...

  3. 【搬砖】安卓入门(4)- Java开发编程基础--数组

    05.01_Java语言基础(数组概述和定义格式说明)(了解) A:为什么要有数组(容器) 为了存储同种数据类型的多个值 B:数组概念 数组是存储同一种数据类型多个元素的集合.也可以看成是一个容器. ...

  4. PHP基础 数组函数 的总结

    <?php /** * PHP基础 数组操作函数 * * 指针函数:[类似于数据库的游标] 见例1.1 * current($arr)/pos 返回当前指针指向的元素 * key($arr) 返 ...

  5. Java基础——数组应用之StringBuilder类和StringBuffer类

    接上文:Java基础——数组应用之字符串String类 一.StringBuffer类 StringBuffer类和String一样,也用来代表字符串,只是由于StringBuffer的内部实现方式和 ...

  6. java基础-数组的折半查找原理

    java基础-数组的折半查找原理 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 如果让你写一个数组的查找功能,需求如下:在一个数组中,找一个元素,是否存在于数组中, 如果存在就返回 ...

  7. Java基础-数组常见排序方式

    Java基础-数组常见排序方式 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 数据的排序一般都是生序排序,即元素从小到大排列.常见的有两种排序方式:选择排序和冒泡排序.选择排序的特 ...

  8. day05<Java语言基础--数组>

    Java语言基础(数组概述和定义格式说明) Java语言基础(数组的初始化动态初始化) Java语言基础(Java中的内存分配以及栈和堆的区别) Java语言基础(数组的内存图解1一个数组) Java ...

  9. Java语言基础(数组)

    Java语言基础(数组概述和定义格式说明) A:为什么要有数组(容器) 为了存储同种数据类型的多个值 B:数组概念 数组是存储同一种数据类型多个元素的集合.也可以看成是一个容器. 数组既可以存储基本数 ...

随机推荐

  1. Androidstudio坑

    1.intel haxm sdkmanager显示不可选中,而且boost设置好了intervt 解决:重新关闭,打开系统,然后开启.... 2.解决不了一直报错,(自己的代码,明明已经没有问题) 有 ...

  2. CC02:原串翻转

    题目 请实现一个算法,在不使用额外数据结构和储存空间的情况下,翻转一个给定的字符串(可以使用单个过程变量). 给定一个string iniString,请返回一个string,为翻转后的字符串.保证字 ...

  3. BNU 4096 逆序 思维题

    https://www.bnuoj.com/v3/problem_show.php?pid=4096 对于一个序列a,我们定义它的逆序数为满足a[i]>a[j]且i<j的有序对<i, ...

  4. Spring Security 5中的默认密码编码器

    1.概述 在Spring Security 4中,可以使用内存中身份验证以纯文本格式存储密码. 对版本5中的密码管理过程进行了重大改进,为密码编码和解码引入了更安全的默认机制.这意味着如果您的Spri ...

  5. tomcat调优方案Maximum number of threads (200) created for connector with address null and port 8091

    1.tomcat6大并发出现:INFO: Maximum number of threads (200) created for connector with address null and por ...

  6. Java_面向对象的 static 和 abstract

    static:表示静态的 static:可以用来修饰属性.方法.代码块(或初始化块).内部类. 一.static修饰属性(类变量): public class TestStatic { //stati ...

  7. JAVA基础之项目分包

    个人理解: 项目分层分包适合多人开发合作的,最好一个界面设置一个view,同时注释一定设置好,按照顺序:从前向后进行传递参数,从后向前进行传递返回值来进行判断是否真正的执行了sql语句(可以不返回), ...

  8. JVM类加载之创建对象的过程

    JVM对象的创建 new一个对象到底发生了什么? 1.VM遇到new关键字:首先检查是否能在常量池中定位到一个类的符号引用,并检查这个符号引用代表的类是否被加载,验证,准备,解析,初始化过,如果没有, ...

  9. querySelector/querySelectorAll

    querySelector获取页面I属性D为test的元素: document.getElementById("test"); //or document.querySelecto ...

  10. 深度探索C++对象模型——关于对象

    引言 以前读<C++ Primer>的时候一直有一种感觉:该书虽然是C++入门书籍,初学者读之却觉晦涩,越往后读越是如此.等到稍加理解后再读该书,顿感醍醐灌顶,茅塞顿开.究其原因,在于原作 ...