• 数组和arraylist集合


    一,数组概述
    何谓数组?首先,我们要从组看起.一组,就是一行或者一列,数组,也就是说有数行或数列,而从微软的解释上来看,数组是属于立体概念的.也就是说,数组是像动画片一样,有一维动画,二维动画,还有现在的三维动画.我想在维数上面大家在看动画片的时候就能有深刻的理解了.这个是算比较通俗的理解了.
    下面咱们再来看看程序上对数组的概括: 数组(Arrays),可以用相同名字引用一系列变量,并用数字(索引)来识别它们.由此可见数组是有编号可言的,这就像一个班集体一样,每个人都有自己的学号..
    总体来说,数组就是一组带有索引的容器,相当于一间教室的位置,而上面已经编好了座位号.
    二, 数组的声明
    在vb.net中,所有的数组都是以“0”为起始长度的,也就是说,所有数组的起点都是0,位置0也代表一个容器.如果一个数组定义为Dim x(10) As Single,那么它是可以存储10个Single的变量的.这样的数组含有10个元素,编号为0到9,使我们在处理数组的长度和编号的情况与C、C++、C#和Java具有一致性,如下例:
    Dim Max As Integer
    Max=10
    Dim x(Max)
    For j=0 to Max-1
    x(j)=j
    Next j
    从上面例子可以看出,数组的最后一个元素的编号,总是数组的长度减1。
    那么怎样定义一个多维数组呢? 如下例:
    二维数组
    Dim x(m,z) As String
    ‘那么它的容器是怎么分配呢?
    Dim I As Integer = 0
    Dim j As Integer = 0
    For I =0 to m-1
    For j = 0 to z-1
    X(I,j)=I+j ‘我们可以试试计算有多少个这样的位数,结果为m*z的积
    Next
    Next
    上面的例子可以充分的看出数组的立体性,以及可延伸性,当然如果你有需求,还可以定义三维的数组,四维的数组,在理论上来讲,是可以无限制的延伸下去.当然,前提条件是你有需求.例如我们定义一个三维数组:Dim x(5,6,8) as string 等等…
    三,数组长度的控制及动态数组
    此外,vb.net还引进了一个数组列表(ArrayList)对象来代替原来的集合(Collection)对象,集合对象的长度计数总是从1开始的,而且在需要的时候,数组列表的长度可以是不定的。数组列表的基本的方法和集合一样,只不过它还具有一些新的功能方法。
    例如:
    Dim Arl As ArrayList '构建一个数组列表
    For j=0 to 10
    Arl.Add(j)
    Next j
    所有的数组变量都有一个长度属性,这样就可以得知这个数组有多大:
    Dim Z(20) As Single
    Dim j As Integer
    For j=0 to z.Length-1
    Z(j)=j
    Next j
    在vb.net中所有的数组都是动态的,可以在任何时候重新定义数组的长度,然而,在vb.net中已经没有ReDim Preserve表述了,可以使用New关键字来对任何一个数组进行引用,并且重新定位:
    '在类模块级声明
    Dim X() As Single
    '重新定位
    X=New Single(20){}
    注意:数组类型后面的大括号不要忘记写。
    和集合对象一样,数组列表含有一个“Count”属性和一个“Item”属性,允许使用“index”来访问数组列表中的元素。而且,和集合对象一样,这个属性也可以省略,感觉就像操作数组一样:
    For i=0 to ar.Count-1
    textbox1.text=(ar.Item(i))
    textbox2.text= (ar(i))
    Next I
    下表为数组列表的一些方法:
    Clear 清空数组列表的内容
    Contains(object) 如果数组列表含有该对象则返回true
    CopyTo(array) 把一个数组列表拷贝到一个一维的数组中去
    IndexOf(object) 返回第一个元素的值
    Insert(index,object) 在指定的位置插入一个元素
    Remove(object) 把一个元素从列表中删除
    RemoveAt(index) 把一个指定位置的元素从列表中删除
    Sort 对列表进行排序
    注意:一个数组中的所有元素具有相同的数据类型。当然,当数据类型为“object”时,各个元素能够包含不同种类的数据(对象、字符串、数值等)。可以声明任何基本数据类型的数组,包括用户自定义的类型和对象变量。此外,数组在vb.net中已经是完全的动态的了。
    Viviwei编写
    版权由Viviwei所有
    交流QICQ:85474440
    E-Mail:wei01062003@yahoo.com.cn


       本人博客的文章大部分来自网络转载,因为时间的关系,没有写明转载出处和作者。所以在些郑重的说明:文章只限交流,版权归作者。谢谢

  • 相关阅读:
    [PA2014]Muzeum
    [AMPPZ2014]Jaskinia
    [PA2015]Rozstaw szyn
    LOJ 6713 「EC Final 2019」狄利克雷 k 次根 加强版
    Problem. R
    51nod 2583 数论只会Gcd
    51nod 1847 奇怪的数学题
    51nod 1575 Gcd and Lcm
    Problem. Q
    CF868G El Toll Caves
  • 原文地址:https://www.cnblogs.com/wzg0319/p/1341542.html
Copyright © 2020-2023  润新知