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:数组概念 数组是存储同一种数据类型多个元素的集合.也可以看成是一个容器. 数组既可以存储基本数 ...
随机推荐
- Exception inside CORBA when accessing a remote bean
http://stackoverflow.com/questions/23291520/exception-inside-corba-when-accessing-a-remote-bean
- 如何使用localStorage?
首先使用localStorage的时候,我们需要判断浏览器是否支持localStorage这个属性. if(!window.localStorage){ alert("浏览器支持locals ...
- SQL 主键
主键: 1.任意两行都不具有的相同的主键值 2.没一列都必须有一个主键值(主键列不允许NULL值) 3.主键列中的值不允许修改或更新 4.主键值不能重用(如果某行从表中删除,它的主键不能赋给以后的新行 ...
- kali linux 通过跑包的方式破解wifi密码
1. wlan0开启monitor mode : airmon-ng start wlan0 2. 查看附近的无线网络 : airodump-ng wlan0mon 3. 抓取无线 ...
- 《深入理解java虚拟机》笔记(4)对象已死吗
一.垃圾回收器回收的对象 虚拟机内存区域中程序计数器.虚拟机栈.本地方法栈随线程而生,随线程而灭.这3个区域内存分配和回收都具备确定性.因此不需要过多考虑回收问题. 而Java堆和方法区不一样,这部分 ...
- JSON.stringify 语法讲解
作用:这个函数的作用主要是为了系列化对象的. 可能有些人对系列化这个词过敏,我的理解很简单.就是说把原来是对象的类型转换成字符串类型(或者更确切的说是json类型的).就这么简单.打个比方说,你有一个 ...
- sql 模版
SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- ...
- springIOC+Mysql+springmvc事务测试题总结
1.关于http1.1和1.0的长连接和短连接 两个都支持长连接和短连接 http1.0默认为短连接,也就是说,浏览器和服务器每进行一次HTTP操作,就建立一次连接,任务结束就中断连接 http1.1 ...
- ListView的圆角的简单实现
今天在用ListView控件的时候,发现自带的不美观,就是找找相关的美化教程,发现都挺麻烦的,无意中发现一个开源项目,地址:点击打开链接,使用起来很简单,官方网站说的也很简单,就是导入库,然后像其他控 ...
- 字典(dict),增删改查,嵌套
一丶字典 dict 用{}来表示 键值对数据 {key:value} 唯一性 键 都必须是可哈希的 不可变的数据类型就可以当做字典中的键 值 没有任何限制 二丶字典的增删改查 1.增 dic[k ...