A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 赵贺景 中级黑马   /  2014-4-30 21:03  /  1474 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

arraylist和array的区别是什么?一个是动态数组 一个是数组,
这两者有什么区别.
又和int[]a=new a[x]这种数组有什么不同?
arraylist有哪些常用的用法,
以及用来处理什么类型的问题

评分

参与人数 1技术分 +1 收起 理由
czwanglei + 1

查看全部评分

4 个回复

倒序浏览
1. Array 可以具有多个维度,而 ArrayList 始终只是一维的;
2. ArrayList提供添加,插入或移除某一范围元素的方法;  在Array中,只能一次获取或设置一个元素的值。
回复 使用道具 举报
那我补充点吧,因为arraylist里面存放的是object类型的数据,所以在执行数据存放操作的时候会经过装箱和拆箱,效率比较低,所以当所有的数据都是同一种类型的时候,建议使用List<T>泛型集合,这样效率会高很多
回复 使用道具 举报
  1. //<span style="color: rgb(255, 0, 0); font-size: large; line-height: 36px; ">是引用(class)类型:</span>  提供创建、操作、搜索和排序数组的方法,因而在公共语言运行时中用作所有数组的基类。
复制代码







回复 使用道具 举报

// 是引用类型:    提供创建、操作、搜索和排序数组的方法,因而在公共语言运行时中用作所有数组的基类。

public abstract class Array : ICloneable, IList, ICollection, IEnumerable,                        
                                         IStructuralComparable, IStructuralEquatable

  //是引用类型:使用大小可按需动态增加的数组实现 System.Collections.IList
                      接口。

public class ArrayList : IList, ICollection, IEnumerable, ICloneable

//int 是值类型
public struct Int32 : IComparable, IFormattable, IConvertible,
                             IComparable<int>, IEquatable<int>

ArrayList:可以看做是动态数组,Add、clear、contains、count
              、Remove等方法,可以放任何类型的数据,但数据放进去就不知道什么
                 类型了,所以不能防止非法类型数据的放入,将ArrayList返回给其他函
                 数,会令调用者很困惑。要区分变量返回类型和实际对象类型的区别。

Array:C#中的所有数组类型int[]、string[]等都是继承自Array类

而泛型List<T>,如List<int>,因为有申明类型时的约定,因此所有方法的参数,
                       返回值都是确定类型了


回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马