C#基础-数组-ArrayList
数组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的更多相关文章
- Java基础系列-ArrayList
原创文章,转载请标注出处:<Java基础系列-ArrayList> 一.概述 ArrayList底层使用的是数组.是List的可变数组实现,这里的可变是针对List而言,而不是底层数组. ...
- [数据结构1.2-线性表] 动态数组ArrayList(.NET源码学习)
[数据结构1.2-线性表] 动态数组ArrayList(.NET源码学习) 在C#中,存在常见的九种集合类型:动态数组ArrayList.列表List.排序列表SortedList.哈希表HashTa ...
- 【搬砖】安卓入门(4)- Java开发编程基础--数组
05.01_Java语言基础(数组概述和定义格式说明)(了解) A:为什么要有数组(容器) 为了存储同种数据类型的多个值 B:数组概念 数组是存储同一种数据类型多个元素的集合.也可以看成是一个容器. ...
- PHP基础 数组函数 的总结
<?php /** * PHP基础 数组操作函数 * * 指针函数:[类似于数据库的游标] 见例1.1 * current($arr)/pos 返回当前指针指向的元素 * key($arr) 返 ...
- Java基础——数组应用之StringBuilder类和StringBuffer类
接上文:Java基础——数组应用之字符串String类 一.StringBuffer类 StringBuffer类和String一样,也用来代表字符串,只是由于StringBuffer的内部实现方式和 ...
- java基础-数组的折半查找原理
java基础-数组的折半查找原理 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 如果让你写一个数组的查找功能,需求如下:在一个数组中,找一个元素,是否存在于数组中, 如果存在就返回 ...
- Java基础-数组常见排序方式
Java基础-数组常见排序方式 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 数据的排序一般都是生序排序,即元素从小到大排列.常见的有两种排序方式:选择排序和冒泡排序.选择排序的特 ...
- day05<Java语言基础--数组>
Java语言基础(数组概述和定义格式说明) Java语言基础(数组的初始化动态初始化) Java语言基础(Java中的内存分配以及栈和堆的区别) Java语言基础(数组的内存图解1一个数组) Java ...
- Java语言基础(数组)
Java语言基础(数组概述和定义格式说明) A:为什么要有数组(容器) 为了存储同种数据类型的多个值 B:数组概念 数组是存储同一种数据类型多个元素的集合.也可以看成是一个容器. 数组既可以存储基本数 ...
随机推荐
- linux grep (转)
常用用法 [root@www ~]# grep [-acinv] [--color=auto] '搜寻字符串' filename 选项与参数: -a :将 binary 文件以 text 文件的方式搜 ...
- jave (java的ffmpeg框架)简单使用
引入文件( jave-native-win64 windows 64位系统jave-native-linux64 linux 64位系统按自己服务器系统来替换 ) <dependency> ...
- POJ1830(异或高斯消元)
对于某个开关,都有n个选项可能影响它的结果,如果会影响,则系数为1,否则系数为0:最后得到自由元的个数,自由元可选0也可选1. #include <cstdio> #include < ...
- 【aspnetcore】添加自定义json配置文件
打开program.cs文件,修改CreateWebHostBuilder方法: public static IWebHostBuilder CreateWebHostBuilder(string[] ...
- Middleware-请求管道的构成
Middleware-请求管道的构成 在 ASP.NET 中,我们知道,它有一个面向切面的请求管道,有19个主要的事件构成,能够让我们进行灵活的扩展.通常是在 web.config 中通过注册 Htt ...
- Ubuntu 下修改Tomcat和Jetty默认的JDK和初始内存
修改/etc/default/tomcat 或者 /etc/default/jetty 文件 中的 JAVA_HOME 和 JAVA_OPTS
- BI的意义
BI系统建设的价值,有可能不值钱,也有可能价值数千万,就看我们大家好用了没.”所以,BI系统建设的收获,终究还是因企业而异的,再归根,便是与企业的文化,与企业的人,尤其是管理层是极为相关的了. 商业智 ...
- Java thymeleaf模板获取资源文件的内容
我们在某些时候可能需要获取配置文件properties中的配置信息,而不需要用Java传给模板,在模板中就可以直接获取 我们需要在resources/下定义国际化配置文件即可,注意名称必须中messa ...
- WebView全面学习(一)--常用类和方法
WebView全面学习(一)--常用类和方法 WebView本质上是一个View,他基于webkit引擎来展示web页面 在Android不同的版本webkit内核有所区别,从Android版本上看, ...
- EasyUI Tabs + Yii2.0实现iframe方式打开页面(解决共用静态文件引入加载的问题)
在项目实际开发中,有将打开的各个链接页面隔离的需求(防止静态资源起冲突),这个时候常规思路就是使用iframe来实现!但遇到一个比较棘手的问题,当用easyui Tabs打开一个iframe页面时,怎 ...