ArrayList 集合
ArrayList
集合:很多数据的一个集合 数组:长度不可变、类型单一
集合的好处:长度可以任意改变 类型随便
集合长度都的问题 很多数据的集合数组类型不可变 长度单一
ArrayList list=new ArrayList ; 它不是静态的,我们可以尝试的创建一个对象
//创建了一个集合对象
ArrayList list = new ArrayList();
//集合:很多数据的一个集合
//数组:长度不可变、类型单一
//集合的好处:长度可以任意改变 类型随便
namespace _02集合
{
class Program
{
static void Main(string[] args)
{
ArrayList list = new ArrayList();
list.Add();
list.Add(3.14);
list.Add(true );//bool
list.Add("李白");//string
list.Add('男');//char
list.Add(new int[] { , , , , , , , });
list.AddRange(new int[] { , , , , });//AddRange表示添加一个集合
list.Add(list );//自己放自己,没意义
for (int i = ; i <list.Count; i++)//Count实际包含的元素个数
{
if(list[i] is person )//如果它能转换成Person类型
{
((person)list[i]).say();//强转的前提:必须装有子类对象 有继承关系
}
else if (list[i]is int[])
{
for (int j = ; j<((int[])list[i]).Length ; j++)
{
Console.WriteLine(((int [])list[i])[j]);
}
}
else
{
Console.WriteLine(list[i]);
} }
}
ArrayLit集合长度的问题
// 每次集合中实际包含的元素个数(count)超过了可包含元素的个数capcity
//的时候集合就会向内存中申请多开启一倍的空间,来保证集合长度够用
static void Main(string[] args)
{
ArrayList list = new ArrayList();
list.Add();
list.Add();
list.Add();
list.Add();
list.Add();
list.Add();
list.Add();
Console.WriteLine(list .Count);//
Console.WriteLine(list .Capacity);//0
//count 表示这个集合的元素实际包含的个数
//capcity 表示这个集合的元素可包含的个数
Console.ReadKey(); }
}
class person
{
public void say()
{
Console.WriteLine("海");
}
}
}
两个练习 创建一个集合,里面添加一些数字,求平均和和 最大值
//创建一个集合,里面添加一些数字,求平均和和 最大值
#region MyRegion
//ArrayList list = new ArrayList();
//list.AddRange(new int[]{1,2,3,4,5});
//int sum=0;
//int max=(int )list [0];
//for (int i = 0; i < list .Count ; i++)
//{
// if ((int)list [i]>max )
// {
// max =(int)list[i] ;
// }
// sum += (int)list[i];//转为int
// //为什么能将一个object类型转为int类型
// //因为你父类装的是子类对象,里氏转换
//}
//Console.WriteLine(sum);
//Console.WriteLine(sum/list.Count);
//Console.WriteLine(max);
//Console.ReadKey();
#endregion
//写一个长度为10的集合,要求在里面随机地存放10个数字//但是要求所有的数字不重复
#region MyRegion
ArrayList list = new ArrayList();
Random r = new Random();
for (int i = ; i < ; i++)
//为什么不能写list.Count Count表示实际包含的个数(0)条件不成立
//循环不执行
{
int rNumber = r.Next(, );
//集合中没有这个随机数
if (!list.Contains(rNumber))//不包含
{
list.Add(rNumber);
}
else//集合中有这个随机数
{
//一旦产生了重复的随机数,这次循环就不算数
i--;
}
}
for (int i = ; i < list.Count; i++)
{
Console.WriteLine(list[i]);
}
Console.ReadKey();
#endregion
//将一个数组中的奇数放到一个集合中 ,偶数放左边一个集合 最终放右边一个集合
//将一个数组中的奇数放到一个集合中 ,偶数放左边一个集合 最终放右边一个集合
#region MyRegion
int[] number = { , , , , , , , };
//奇数集合
List<int> lisji = new List<int>();
//偶数集合
List<int> lisou = new List<int>();
for (int i = ; i < number.Length; i++)
{
if (number[i] % == )
{
lisou.Add(number[i]);
}
else
{
lisji.Add(number[i]);
}
}
////合并一个集合 在声明一个新集合
//List<int> listsum = new List<int>();
//listsum.AddRange(lisji);
//listsum.AddRange(lisou); //直接让一个集合去添加另一个集合
//lisou.AddRange(lisji);
//foreach (var item in lisou )
//{
// Console.Write(item+" ");
//}
//Console.ReadKey(); //谁在最前边就让谁去添加类型一个
lisji.AddRange(lisou);
foreach (var item in lisji)
{
Console.Write(item + " ");
}
Console.ReadKey();
#endregion
//提示用户输入一个字符串 ,通过foreach循环将用户输入的字符串赋值 给一个字符数组
//提示用户输入一个字符串 ,通过foreach循环将用户输入的字符串赋值 给一个字符数组
#region MyRegion
Console.WriteLine("请输入一个字符串");
string input = Console.ReadLine();
char[] chs = new char[input.Length];
int i = ;
//把字符串给数组你首先要拿到字符串中每个元素
foreach (var item in input)//collection要循环访问的数组和名称
{
chs[i] = item;//赋值给char类型的数组
//item:是input每一个元素,
i++;//每赋值一次i++
}
foreach (var item in chs)
{
Console.Write(item);
}
Console.ReadKey();
#endregion
ArrayList 集合的更多相关文章
- C#语言基础——集合(ArrayList集合)
集合及特殊集合 集合的基本信息: System.Collections 命名空间包含接口和类,这些接口和类定义各种对象(如列表.队列.位数组.哈希表和字典)的集合.System.Collections ...
- ArrayList集合 、特殊集合
一.ArrayList集合 集合内可以放不同类型的元素 另:object类型为所有数据类型的基类 添加元素:.add(); 清空集合:al.clear(); 克隆集合:.clone(); 判断是否包含 ...
- 2016年10月16日--ArrayList集合、特殊集合
ArrayList集合 使用前引用 using System.Collections; ArrayList集合 实例化.初始化 ArrayList al = new ArrayList(); Arra ...
- ArrayList集合&特殊集合
一.ArrayList集合 集合内可以放不同类型的元素 另:object类型为所有数据类型的基类 添加元素:.add(); 清空集合:al.clear(); 克隆集合:.clone(); 判断是否包含 ...
- 5月11日 ArrayList集合复习、特殊集合、枚举类型
一.ArrayList集合复习 //定义 ArrayList al = new ArrayList(); //添加元素 al.Add(); //插入元素 al.Insert(,); //查看个数 in ...
- C#部分---arraylist集合、arraylist集合中的object数据转换成int类string类等;间隔时间的表示方法;
ArrayList和Array的区别: 相同点:1.两者都实现了IList.ICollection.IEnumerable接口: 2.两者都可以使用证书索引访问集合中的元素,包括读取和赋值 ...
- ArrayList集合的语句示例
namespace ArrayList集合的语句示例{ class Program { static void Main(string[] args) { ...
- java集合 collection-list-ArrayList 将自定义对象作为元素存到ArrayList集合中,并去除重复元素。
import java.util.*; /* 将自定义对象作为元素存到ArrayList集合中,并去除重复元素. 比如:存人对象.同姓名同年龄,视为同一个人.为重复元素. 思路: 1,对人描述,将数据 ...
- java集合 collection-list-ArrayList 去除ArrayList集合中的重复元素。
import java.util.*; /* 去除ArrayList集合中的重复元素. */ class ArrayListTest { public static void sop(Object o ...
- ArrayList集合排序
using System;using System.Collections;using System.Collections.Generic;using System.Text; namespace ...
随机推荐
- 「BZOJ 2342」「SHOI 2011」双倍回文「Manacher」
题意 记\(s_R\)为\(s\)翻转后的串,求一个串最长的形如\(ss_Rss_R\)的子串长度 题解 这有一个复杂度明显\(O(n)\)的做法,思路来自网上某篇博客 一个双倍回文串肯定当且仅当本身 ...
- 如何调用写好的指定模块?——sys.path
python之sys模块详解 sys模块功能多,我们这里介绍一些比较实用的功能,相信你会喜欢的,和我一起走进python的模块吧! sys模块的常见函数列表 sys.argv: 实现从程序外部向程序传 ...
- docker kubernetes swarm spring cloud结合学习资源
http://www.docin.com/p-2062732301.html https://blog.csdn.net/michael_hm/article/details/79213839 htt ...
- 条目八《永不建立auto_ptr的容器》
条目八<永不建立auto_ptr的容器> 重要的事说三次,永不建立auto_ptr的容器,永不建立auto_ptr的容器,永不建立auto_ptr的容器!!! 为什么? 实质是auto_p ...
- php中的各种header整理
<?php header('HTTP/1.1 200 OK'); // ok 正常访问 header('HTTP/1.1 404 Not Found'); //通知浏览器 页面不存在 heade ...
- 自动化上传图片,路径driver.find_element_by_id("oper-img-change").send_keys("C:\\Users\\76776\\Pictures\\logo.jpg"),为正确姿势,单\报错 'unicodeescape' codec can't decode bytes in position XXX: trun
自动化上传图片,路径driver.find_element_by_id("oper-img-change").send_keys("C:\\Users\\76776\\P ...
- 2A - Stone
任意一堆移动过后的石子都是整数x的倍数, 那么石子总数显然也应该是x的倍数, 换句话说,x必为石子数总和的一个质因子. 题目要求移动次数尽量小,那么x也应该尽量小. 所以选择石子数总和的最小质因子. ...
- bootstrap表单控件
禁用状态: 被禁用的 fieldset 为<fieldset> 设置 disabled 属性,可以禁用 <fieldset> 中包含的所有控件. <form> &l ...
- 获取HTML代码用 像阿里巴巴
public string GetHtml(string url) { string html = String .Empty; ...
- HDU - 5686-Problem B (递推+高精)
度熊面前有一个全是由1构成的字符串,被称为全1序列.你可以合并任意相邻的两个1,从而形成一个新的序列.对于给定的一个全1序列,请计算根据以上方法,可以构成多少种不同的序列. Input 这里包括多组测 ...