ArrayList 类和List<T>泛型类
ArrayList集合类在System.Colletions命名空间下,它其实是一个特殊的数组,它可以动态的添加和删除元素,根据元素的改变自动决定它自身的大小,也可以灵活的插入元素等操作,使用起来要比一般的数组方便很多个人感觉,而且可以用来储存任何引用和值类型,如下面举个例子:
C#:
ArrayList arr = new ArrayList();
arr.Add(123);
arr.Add(567);
arr.Add("windows");
//ArrayList的默认索引为0
//我要在索引为1的位置插入一个元素
arr.Insert("XP");
arr.Remove(567) //移除元素567
下面是ArrayList类的一些常用属性和方法:
1.常用属性
Count获取数组的实际元素个数。
Item 获取和设置指定索引处元素,这个属性在VB.NET使用,在C#中时用[]代替。
2.常用方法
Add方法:将某一元素添加到动态数组的尾部
Remove方法:从动态数组中移除指定元素。
RemoveAt方法:从动态数组中移除指定索引处元素。
Clear方法:删除所有元素。
IndexOf方法:在动态数组中查找某个元素的索引。
Insert方法:将元素插入指定索引处。
Reverse方法:反转元素排序。
Sort方法:对元素进行排序。
ToArray方法:将动态数组中的所有元素复制到新数组中。
Contains方法:确定某个元素是否存在。
ArrayList虽然使用很方便灵活,但是添加给它的任何引用类型和值类型都将隐式的被转换为Object(即装箱操作),而在使用元素时要进行拆箱操作,否则会出现编译错误的情况,这样很麻烦,所以就有另外一个和它比较相似的类,List<T>泛型类,List<T>泛型类位于System.Colletions.Generit下,List<T>泛型比ArrayList方便之处就是它避免了重复装箱拆箱的操作,当它声明时将强制性的指定一个非Object类型,相对能较好的保证代码的安全性,它的使用和ArrayList类似。
C#:
List<int> a = new List<int>();
a.Add(1);
a.Add(2);
a.Add(3);
ArrayList 类和List<T>泛型类的区别
ArrayList 类和List<T>泛型类的更多相关文章
- 集合 ArrayList 类
集合的基本信息: System.Collections 系统类中的收藏类,定义各种对象(如列表,队列,位数组,哈希表和字典)的集合 常用的集合为ArrayList类:特殊集合一般会用到Queue队 ...
- Java API —— ArrayList类 & Vector类 & LinkList类
1.ArrayList类 1)ArrayList类概述 · 底层数据结构是数组,查询快,增删慢 · 线程不安全,效率高 2)ArrayList案例 ...
- C#常用的集合类型(ArrayList类、Stack类、Queue类、Hashtable类、SortedList类)
1.ArrayList类 ArrayList类主要用于对一个数组中的元素进行各种处理.在ArrayList中主要使用Add.Remove.RemoveAt.Insert四个方法对栈进行操作.Add方法 ...
- Java中ArrayList类详解
1.什么是ArrayList ArrayList就是传说中的动态数组,用MSDN中的说法,就是Array的复杂版本,它提供了如下一些好处: 动态的增加和减少元素 实现了ICollection和ILis ...
- 表的顺序结构---重写Arraylist类
重写ArrayList类,为防止冲突,重写为MyArrayList,未继承Iterable类. public class MyArrayList<AnyType>{ int N=10; A ...
- JDK1.8源码(五)——java.util.ArrayList 类
关于 JDK 的集合类的整体介绍可以看这张图,本篇博客我们不系统的介绍整个集合的构造,重点是介绍 ArrayList 类是如何实现的. 1.ArrayList 定义 ArrayList 是一个用数组实 ...
- LinkedList类 和ArrayList类
1)LinkedList类 LinkedList实现了List接口,允许null元素.此外LinkedList提供额外的get,remove,insert方法在 LinkedList的首部或尾部.这 ...
- 实现一个自定义的ArrayList类,实现将原List中的每个数据都乘以10
1.首先自定义一个Operate接口,如下所示: public interface Operate { public Integer caozuo(Integer i); } 2.实现自定义的Arra ...
- java基础之集合框架--使用ArrayList类动态 存储数据
一.ArrayList是List接口下的一个实现类,实现了长度可变的.连续的数组:拥有数组的特性. 遵循了LIst的规则:不唯一的.有序的. 如果没有增加泛型的话,集合中可以添加任何类型的数据. 使用 ...
随机推荐
- MySQL建立连接的过程
数据库连接的一些知识: import java.sql.Connection ; import java.sql.DriverManager ; import java.sql.Statement ; ...
- 关于谷歌android 4.3 ble问题
随着BLE的逐渐壮大,越来越多的厂商开始支持BLE,在未来的一年里应该会慢慢普及,谷歌android4.3已经支持了自己的nexus4和uexus7 2013手机了,也就是说如果厂商采用谷歌已经实现d ...
- 性能指标--并发用户数(Concurrent Users)
并发用户数是指:在某一时间点,与被测目标系统同时进行交互的客户端用户的数量. 并发用户数有以下几种含义: 1. 并发虚拟用户数(Concurrent Virtual Users,Users_CVU) ...
- Conversion between json and object using SBJson lib
Define two methods in an object class as follows: @interface MyObject : NSObject @property (nonatomi ...
- 353. Design Snake Game
贪食蛇. GAME OVER有2种情况,1是咬到自己,2是出界. 1)用QUEUE来保留占据的格子,每走一格就添加1个,然后POll()最后一个. 做一个一样的SET来check要走的格子是不是已经在 ...
- 微信公众平台--网页授权获取用户基本信息(snsapi_userinfo方式)
关于snsapi_userinfo网页授权的说明 以snsapi_userinfo为scope发起的网页授权,是用来获取用户的基本信息的.但这种授权需要用户手动同意,并且由于用户同意过,所以无须关注, ...
- 手把手教你mysql(十)索引
手把手教你mysql(十)索引 一:索引的引入 索引定义:索引是由数据库表中一列或者多列组合而成,其作用是提高对表中数据的查询速度. 类似于图书的目录,方便快速定位,寻找指定的内容,如一本1000页的 ...
- 帮助招聘程序员的自动考试网站:Codility
Automated tests of programming skills. Assessment of software developers. Recruitment software. Codi ...
- GDB调试总结__1
该博客旨在分享IT技术心得和实际工作中遇到问题的解决方法,下面是新浪博客地址http://blog.sina.com.cn/qianyumolu,则为分享经济.行业趋势.心灵文章等,有兴趣的朋友能够踩 ...
- 计算机体系结构-CPU
NUMA