注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

信息 灵感 创新

I? =Information,Inspiration,Innovation

 
 
 

日志

 
 
关于我

we are 5. Mathematics, Computation, Programming, Engineering, and Making fun of life.

网易考拉推荐

数组、索引器和集合(六)  

2010-12-24 15:53:28|  分类: C# & .NET |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

1.       List<T>和列表ArrayList

表是一种可以按需增长的动态数组,它的操作方法和属性如下:

方法或属性

说明

Capacity

获取或设置List可容纳的元素个数,超过容量可自动增加

Count

获取当前元素个数

Add()

用于在List中添加一个对象

AddRange()

用于将一个Icollection的元素添加到List的结尾

BinarySearch()

使用二分搜索寻找一个已经排序的List中元素

Clear()

删除List中所有元素

Contains()

确定一个元素是否在List

CopyTo()

List复制到一个一维数组中

Exists()

确定List中是否有指定谓词匹配的元素

Find()

返回List中与指定谓词匹配的第一个元素

FindAll()

返回List中与指定谓词匹配的所有元素

GetEnumerator()

返回遍历List的枚举器

GetRange()

复制某个范围的元素到新List

IndexOf()

返回某个值在List或某一部分中第一次出现的索引

Insert()

List中插入一个元素

InsertRange()

List中插入一个集合元素

LastIndexOf()

返回某个值在List或某一部分中最后一次出现的索引

Remove()

删除某个对象的第一次出现

RemoveAt()

删除指定索引处元素

RemoveRange()

删除某范围内元素

Reverse()

翻转List中元素顺序

Sort()

List排序

ToArray()

List的元素复制到新数组

TrimToSize()

将容量设置为List中元素实际数目

下面的例子将用一个List按顺序储存素数,并查询某个给定的素数在其中的顺序,这道题目来源于Euler Project的第七题:

using System;

using System.Collections.Generic;

using System.Text;

namespace Castor

{

    class Test

    {

        static void Main(string[] args)

        {

            int cnt = 10001;

            long z=2;

            List<long> prime=new List<long>();

            while (cnt > 0)

            {

                if (IsPrime(z))

                {

                    prime.Add(z);

                    cnt--;

                }

                z++;

            }

            Console.WriteLine(prime[10000].ToString());

            Console.WriteLine("素数的顺序是:"+(prime.IndexOf(97)+1).ToString());

            Console.Read();

        }

        public static bool IsPrime(long n)

        {

            long i = (long)Math.Sqrt(n);

            for (long p = 2; p <= i; p++)

            {

                if (n % p == 0)

                    return false;

            }

            return true;

        }

    }

}

运行结果如下:

数组、索引器和集合(六) - Castor - 趁年轻,多折腾~~

 因为List的索引是从0开始的,所以要额外的加1才是真正的顺序。如果给定的数不在该表中,则返回的是-1,这里对这一异常并没有处理,因为这不是重点。

相比较ListArrayList是非泛型类,可以将任意Object作为其元素接受,例如:

using System;

using System.Collections.Generic;

using System.Text;

using System.Collections;

namespace Castor

{

    class Test

    {

        static void Main(string[] args)

        {

            System.Collections.ArrayList al = new ArrayList();

            al.Add(12);

            al.Add("A String");

            al.Add(new Test());

            foreach (object obj in al)

            {

                Console.WriteLine(obj.GetType());

            }

            Console.Read();

        }

    }

}

运行效果如下:

数组、索引器和集合(六) - Castor - 趁年轻,多折腾~~

 

微软更推荐使用泛型集合,所以ArrayList并不常用。

  评论这张
 
阅读(479)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016