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:数组概念 数组是存储同一种数据类型多个元素的集合.也可以看成是一个容器. 数组既可以存储基本数 ...
随机推荐
- shell编程 条件判断式----利用 case ..... esac 判断
条件判断式----利用 case ..... esac 判断 case $变量名称 in <==关键词为 case ,还有变量前有钱字号 "第一个变量内容") &l ...
- netty~引用对象引用
从InBound里读取的ByteBuf要手动释放,还有自己创建的ByteBuf要自己负责释放.这两处要调用这个release方法. write Bytebuf到OutBound时由netty负责释放, ...
- proxy_pass http://127.0.0.1:5000; 502 bad getway
(13: Permission denied) while connecting to upstream:[nginx] I am working with configuring django pr ...
- NET Core 与 Vue.js 服务端渲染
NET Core 与 Vue.js 服务端渲染 http://mgyongyosi.com/2016/Vuejs-server-side-rendering-with-aspnet-core/原作者: ...
- 047 Permutations II 有重复数字的全排列
给定一个可能包含重复数字的集合,返回所有可能的不同全排列.例如,[1,1,2] 有以下不同全排列:[ [1,1,2], [1,2,1], [2,1,1]] 详见:https://leetcode ...
- 查询获取所有数据库名及数据库中表的集合、数据库连接字符串(类生成器,暂时支持mysql,sql server,后期有oracle再更新)
现所在公司做项目开发时,经常会自己创建model类,网上的生成器也很多,完全满足自己的不太现实,所以感觉自己做一个更有底气,主要针对过程中的一些语句进行整理,也供其他人学习参考. 连接字符串: mys ...
- OpenSSL中关于RSA_new和RSA_free的内存泄漏
这个具体的问题问题代码如下: RSA *rsaKey=RSA_new(); rsaKey = RSA_generate_key(keyBits,,NULL,NULL); RSA_free(rsaKey ...
- window之间、iframe之间的JS通信
一.Window之间JS通信 在开发项目过程中,由于要引入第三方在线编辑器,所以需要另外一个窗口(window),而且要求打开的window要与原来的窗口进行js通信,那么如何实现呢? 1.在原窗口创 ...
- javaSe-反射2
//创建实体类 package com.java.chap07.sec03; public class Student { private String name; private Integer a ...
- 洛谷——普及练习场 普及组选手可冲刺训练,提高组选手亦可在此巩固基础。(Loading...)
简单的模拟 关卡2-1,6 道题 开始普及组的训练!所谓模拟,就是直接根据题意编写,思维难度简单. //T1 铺地毯 #include <cstdio> #define N 10005 i ...