ArrayList元素的增加、插入、删除、清空、排序、反转

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace ArrayList集合的方法
{
class Program
{
static void Main(string[] args)
{
//创建了一个集合对象
ArrayList list = new ArrayList();
//集合:很多数据的一个集合
//数组:长度不可变、类型单一
//集合的好处:长度可以任意改变 类型随意
list.Add(123);
list.Add("asd");
list.Add(true);
list.Add('a');
list.Add(1000m);//Add 添加单个元素
list.AddRange(new int[] { 1, 2, 3, 4, 56, 7, 9, 8, 7 });
list.AddRange(list);//AddRange 添加数组、集合
Person p = new Person(); list.Clear();//清空所有元素
list.Remove(true);//删除单个元素,写谁就删谁
list.RemoveAt(0);//根据下标去删除元素
list.RemoveRange(0, 4);//根据下标去移除一定范围的元素
list.Reverse();//反转
list.Sort();//升序排列(只能排列数字)
list.Insert(1,"插入的");//在指定索引位置插入单个元素
list.InsertRange(0, new string[] { "张三", "李四" });//在指定位置插入一个集合
bool b = list.Contains(1);//判断是否包含某个指定的元素,返回一个bool值
if(list.Contains("2"))//如果判断不包含,在前面加一个! 比如说if(!list.Contains("2"))
{
Console.WriteLine("包含");
}
else
{
Console.WriteLine("不包含");
}
for (int i = 0; i < list.Count; i++)
{
if (list[i] is Person)
{
((Person)list[i]).PersonSayHi();
}
else if (list[i] is int[])
{
for (int j = 0; j < ((int[])list[i]).Length; j++)
{
Console.WriteLine(((int[])list[i])[j]);
}
}
else
{
Console.WriteLine(list[i]);
} }
Console.ReadKey(); }
}
public class Person
{
public void PersonSayHi()
{
Console.WriteLine("hello");
}
}
}

我们将一个对象输出到控制台  默认情况下 打印的就是这个对象的类的命名空间

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace ToString的问题
{
class Program
{
static void Main(string[] args)
{
//我们将一个对象输出到控制台 默认情况下 打印的就是这个对象的类的命名空间
int[] nums = { 1, 2, 3, 4, 5, 5, 6 };
Console.WriteLine(nums.ToString());
Console.ReadKey();
}
}
}

集合长度的问题

ArrayList集合长度的问题

每次集合中实际包含的元素个数(count)超过了可以包含的元素的个数(capcity)的时候,集合就会向内存中申请多开辟一倍的空间,来保证集合的长度一定够用

集合的两个练习:
创建一个集合,里面添加一些数字,求平均值与和

using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace 集合的两个练习
{
class Program
{
static void Main(string[] args)
{
//创建一个集合,里面添加一些数字,求平均值与和 ArrayList list = new ArrayList();
list.AddRange(new int[]{ 1,2,3,4,4,555,3});
int sum = 0;
for (int i = 0; i < list.Count ; i++)
{
sum += (int)list[i];//强转成int类型
}
int avr = sum / list.Count;
Console.WriteLine(sum);
Console.WriteLine(avr);
Console.ReadKey();
}
}
}

写出一个长度为10的集合,要求里面随机地存放10个数字(0-9),但是要求所有的数字不重复

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace 集合的两个练习
{
class Program
{
static void Main(string[] args)
{
////创建一个集合,里面添加一些数字,求平均值与和 //ArrayList list = new ArrayList();
//list.AddRange(new int[]{ 1,2,3,4,4,555,3});
//int sum = 0;
//for (int i = 0; i < list.Count ; i++)
//{
// sum += (int)list[i];//强转成int类型
//}
//int avr = sum / list.Count;
//Console.WriteLine(sum);
//Console.WriteLine(avr);
//Console.ReadKey(); //写出一个长度为10的集合,要求里面随机地存放10个数字(0-9),但是要求所有的数字不重复
ArrayList list = new ArrayList();
Random r = new Random();
for (int i = 0; i < 10; i++)
{
int rNumber = r.Next(0, 10);
//集合中没有这个随机数
if (!list.Contains(rNumber))
{
list.Add(rNumber);
}
else//集合中有这个随机数
{
//一旦产生了重复的随机数,这次循环不算数,退一格重新来
i--;
}
}
for (int i = 0; i < list.Count; i++)
{
Console.WriteLine(list[i]);
} Console.ReadKey();
}
}
}

最新文章

  1. row_number() over order by与利用rownum查询分页效率分析
  2. Oracle 12c
  3. 单点登录filter根据redis中的key判断是否退出
  4. app打包流程
  5. (转)Flickr架构
  6. Android布局管理器(线性布局)
  7. Tomcat详细用法学习(一)
  8. LeetCode: Multiply Strings. Java
  9. 5.Java 加解密技术系列之 DES
  10. scrapy的一些容易忽视的点(模拟登陆,传递item等)
  11. winrar压缩过滤文件及文件夹
  12. JAVA单链表的实现-不带头结点但带有尾指针
  13. 线程池构造类 ThreadPoolExecutor 的 5 个参数
  14. 微软官方的.net开发人员代码示例
  15. 设计模式 笔记 外观模式 Facade
  16. SharePoint Online 创建文档库
  17. fiddler 抓取iphone发出的http和https包
  18. 第三百二十二节,web爬虫,requests请求
  19. linux -- ubuntu搭建nodejs环境
  20. Linux下安装Nginx教程

热门文章

  1. php的几种接值方式
  2. Java面向对象之回顾方法及加深
  3. java读取apk、ipa包名、版本名、版本号等信息
  4. pandas-数据结构转换-纵转横
  5. react native 第三方富文本编辑器 wxik/react-native-rich-editor(在移动端使用)
  6. Python3开启自带http服务
  7. C#常见的数据结构
  8. Java基础学习:12、代码块
  9. mysql 优化表空间报错Creating index &#39;PRIMARY&#39; required more than &#39;innodb_online_alter_log_max_size&#39; bytes of modification log. Please try again
  10. 使用Apache PDFBox实现拆分、合并PDF