C# 怎么把ArrayList数组进行循环?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# 怎么把ArrayList数组进行循环?相关的知识,希望对你有一定的参考价值。

参考技术A

你做一个主程序,嵌套如下程序:

ArrayList l = new ArrayList();
l.Add(1);
l.Add(2);             //添加测试数据

int a = 0;
for (int i = 0; i < l.Count; i++)

a=(int)l[i];             //遍历,并且赋值给了a

1、什么是ArrayList

ArrayList就是传说中的动态数组,用MSDN中的说法,就是Array的复杂版本,它提供了如下一些好处:

动态的增加和减少元素

实现了ICollection和IList接口

灵活的设置数组的大小

2、如何使用ArrayList

最简单的例子:

?

12345678

ArrayList List = new ArrayList();for( int i=0;i <10;i++ ) //给数组增加10个Int元素List.Add(i);//..程序做一些处理List.RemoveAt(5);//将第6个元素移除for( int i=0;i <3;i++ ) //再增加3个元素List.Add(i+20);Int32[] values = (Int32[])List.ToArray(typeof(Int32));//返回ArrayList包含的数组

这是一个简单的例子,虽然没有包含ArrayList所有的方法,但是可以反映出ArrayList最常用的用法

3、ArrayList重要的方法和属性

1)构造器

ArrayList提供了三个构造器:
public ArrayList();
默认的构造器,将会以默认(16)的大小来初始化内部的数组
public ArrayList(ICollection);
用一个ICollection对象来构造,并将该集合的元素添加到ArrayList
public ArrayList(int);
用指定的大小来初始化内部的数组

2)IsSynchronized属性和ArrayList.Synchronized方法

IsSynchronized属性指示当前的ArrayList实例是否支持线程同步,而ArrayList.Synchronized静态方法则会返回一个ArrayList的线程同步的封装。

如果使用非线程同步的实例,那么在多线程访问的时候,需要自己手动调用lock来保持线程同步

java中的toArray(数组名字)是啥意思,要把数组怎么处理?

您好,提问者:
    您是说ArrayList中的toArray()方法?

import java.util.*;
public class ArrayList_toArrayDemo
    //举个例子
    public static void main(String[] args)
        ArrayList list = new ArrayList();
        list.add("asd");
        list.add("fdg");
        //这个toArray(),其实就是转换为数组
        String[] arr = new String[list.size()];
        arr = list.toArray();
    
追问

谢谢了,以后有问题再请教你!你的回答也非常好,希望你的回答能对别人有帮助!

追答

嗯,好的。

参考技术A 把集合数据转成数组存储追问

我也是这么理解的哈。

顺便问下:

把集合数据转成数组存储的目的是什么?能简单说一下么?

追答

我把集合和数组的区别大概列一下:

1、数组特点高效、保存基本类型,集合带array的底层由数组实现,还有一部分由链表或者树实现
2、数组大小固定(巨大缺点,内存中一定连续),集合各种实现吧!
3、数组只能放一种类型,集合不考虑泛型可以存很多类型。
4、集合放原始类型其实是通过装箱拆箱来实现的,说白了以前原生类型只能用数组,现在集合也可以了。
目的的话如果不是业务需求需要(比如数组的元素可重复、有序),可能是因为数组可以调用很多封装好的方法。

本回答被提问者采纳

以上是关于C# 怎么把ArrayList数组进行循环?的主要内容,如果未能解决你的问题,请参考以下文章

在java中,怎么从一个数组中删除一个数啊

c#如对含有二维数据的list如何进行删除操作

如何PHP循环输入数组

C# ArrayList的排序

c语言中怎么把一维数组初始化为全零啊,不用循环

arraylist数组排序