`
yr512656630
  • 浏览: 322961 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

flex vector

    博客分类:
  • flex
 
阅读更多
写了一个vector类用来对数组进行维护,到new vector()一直报错,原来flex 中有vector,后来将该类名字换了,就不报错了。


import mx.collections.ArrayCollection;

	public class VArray
	{
		//向量元素的存储列表
		private var _source:ArrayCollection=new ArrayCollection();
		//当前访问的向量元素的索引
		private var _curIndex:int=-1;

		public function VArray()
		{
			_source=new ArrayCollection();
			
			_curIndex=-1;
		}
		
		/**
		 * 向向量末尾添加一个元素
		 * param element
		 * 			要添加的元素
		 */
		public function add(element:Object):void
		{
			_source.addItem(element);
			trace("add a element at last index");
		}
		
		/**
		 * 向向量中某一个位置添加一个元素
		 * param element
		 * 			要添加的元素
		 * param index
		 * 			向量中的位置。如果小于0,则默认为第一个位置;如果大于向量长度,则默认为末尾位置
		 */
		public function addAt(element:Object, index:int):void
		{
			if (index < 0)
				index=0;
			
			if (index > size())
				index=size();
			
			_source.addItemAt(element, index);
			trace("add a element at index");
		}
		
		/**
		 * 获取向量中某一位置的元素
		 * param index
		 * 			元素位置,当该位置<0或>size()时,返回空元素
		 */
		public function getItemAt(index:int):Object
		{
			if (index < 0 || index > size())
			{
				return null
				trace("index is ")
			}
			
			return _source.getItemAt(index);
		}
		
		/**
		 * 清空向量
		 *
		 */
		public function clear():void
		{
			_source.removeAll();
		}
		
		/**
		 * 删除某一位置上的元素,同时返回该元。当该位置<0或>size()时,返回空元素
		 * param index
		 * 			元素位置
		 */
		public function removeItemAt(index:int):Object
		{
			if (index < 0)
				return null;
			if (index > size())
				return null;
			
			return _source.removeItemAt(index);
		}
		
		/**
		 * 返回向量中元素的个数
		 *
		 */
		public function size():Number
		{
			return _source.length;
		}
		
		/**
		 * 获取当前元素的下一个元素,如果没有,则返回空元素
		 * return 下一个元素
		 */
		public function next():Object
		{
			var element:Object=null;
			
			if (hasNext())
			{
				_curIndex++;
				element=_source.getItemAt(curIndex);
				trace("has next");
			}
			
			return element;
		}
		
		/**
		 * 获取当前元素的上一个元素,如果没有,则返回空元素
		 * return 上一个元素
		 */
		public function previous():Object
		{
			var element:Object=null;
			
			if (hasPrevious())
			{
				_curIndex--;
				element=_source.getItemAt(curIndex);
				trace("has previous");
			}
			
			return element;
		}
		
		/**
		 * 判断是否有下一个元素
		 * return true
		 * 			有
		 * 		  false
		 * 			没有
		 */
		public function hasNext():Boolean
		{
			return curIndex < size() - 1;
		}
		
		/**
		 * 判断是否有上一个元素
		 * return true
		 * 			有
		 * 		  false
		 * 			没有
		 */
		public function hasPrevious():Boolean
		{
			return curIndex > 0;
		}
		
		/**
		 * 判断向量是否为空
		 * return true
		 * 			为空
		 * 		  false
		 * 			不为空
		 */
		public function isEmpty():Boolean
		{
			return _source.length == 0;
		}
		
		/**
		 * 获取当前元素索引,只读属性
		 *
		 */
		public function get curIndex():int
		{
			return _curIndex;
		}
		
		/**
		 * 获取全部元素的列表,只读属性
		 *
		 */
		public function get source():ArrayCollection
		{
			return _source;
		}

	}
分享到:
评论

相关推荐

    Flex基础编程实例

    在Flex中,有固定大小数组(Array)和动态数组(Vector)两种。数组的元素可以是任何类型,而Vector则需要指定元素类型,提供更好的类型检查和性能。类型转换是将变量从一种类型转换为另一种类型的过程,如Number到...

    flex自定义多级系统菜单

    Flex是一种基于ActionScript 3.0的开源框架,主要用于创建富互联网应用程序(RIA)。在Flex中,我们可以利用其强大的组件库来构建用户界面,其中包括创建自定义多级系统菜单的功能。这个“flex自定义多级系统菜单”...

    flex_array.rar_flex

    在这种情况下,动态数组或可扩展数组(如C++中的`std::vector`)应运而生。在您提供的资料中,“flex_array”似乎是一个自定义的动态数组实现,它具有灵活调整大小的能力,适用于那些需要在运行时改变数组容量的场景...

    flex datagrid 前台 分页

    1. **数据管理**:你需要有效地管理从服务器获取的大量数据,例如使用ArrayCollection或Vector存储数据,这些数据结构支持数据绑定并提供了数据操作的方法。 2. **性能优化**:由于所有数据都在客户端,需要注意内存...

    android获取网络状态Flex开发

    var interfaces:Vector.&lt;NetworkInterface&gt; = NetworkInfo.networkInfo.findInterfaces(); for (var i:uint = 0; i ; i++) { if (interfaces[i].name.toLowerCase() == "wifi" && interfaces[i].active) { lbl....

    flex 图片画线,拖动

    图片画线则可能涉及SVG(Scalable Vector Graphics)技术。SVG是一种基于XML的矢量图像格式,它可以被用来创建可缩放的线条、形状和其他图形,并且这些图形可以与JavaScript交互。在图片上画线,可以通过在SVG画布上...

    flex旋转3D

    在本文中,我们将深入探讨如何使用Adobe Flex实现3D物体的旋转效果,以及如何通过鼠标交互来控制这种旋转。Flex是一种强大的开发框架,主要用于构建富互联网应用程序(RIA),它允许开发者使用ActionScript 3和MXML...

    flex air 代码运行 exe 、bat

    在本篇文章中,我们将深入探讨如何使用Flex与Adobe AIR技术来执行本地的exe与bat文件。根据提供的文件信息,文章标题“flex air 代码运行 exe 、bat”以及描述部分都明确指出了这一主题的核心——利用Flex程序启动...

    Flex help之Flex 皮肤

    3. **导出为SWF或SVG**:将设计导出为SWF(Shockwave Flash)或SVG(Scalable Vector Graphics)格式,以便在Flex项目中使用。 4. **创建皮肤组件**:在Flex项目中,使用MXML或ActionScript编写皮肤类。导入导出的...

    vt.zip_flex

    标题中的"vt.zip_flex"可能是一个压缩包文件,其中包含与“flex”相关的资源或代码。"Flex"通常指的是Adobe Flex,一个用于构建富互联网应用程序(RIA)的开源框架,它基于ActionScript和MXML语言,允许开发人员创建...

    Flex实现非空验证小例子

    var results:Vector.&lt;mx.events.ValidationResult&gt; = Validator.validateAll(this); if (results.length &gt; 0) { for each (var result:mx.events.ValidationResult in results) { trace(result.error.message); ...

    flex4 cookbook4

    - **语法**:`var myVector: Vector.&lt;Type&gt; = new Vector.();` ##### 3.3 使用事件冒泡机制 - **原理**:事件冒泡是指事件从最深层的节点开始向上冒泡,直到到达文档根节点。 - **示例**:如果一个按钮嵌套在另一...

    flex的air环境下获取本机ip地址

    在Flex的AIR(Adobe Integrated Runtime)环境中,获取本机IP地址和MAC地址是常见的需求之一,尤其是在开发网络应用时。本文将详细介绍如何在AIR环境下利用Flex SDK中的`flash.net.NetworkInfo`类来实现这一功能。 ...

    FLEX流程设计源码

    本资源"Flex流程设计源码"聚焦于利用Flex技术进行流程设计,通过AJAX(Asynchronous JavaScript and XML,异步JavaScript和XML)与SVG(Scalable Vector Graphics,可缩放矢量图形)的对比,突显了Flex在创建动态、...

    Vector AUTOSAR Components BSW模块:Can_30_Flexcan4.zip

    Vector AUTOSAR Components各个BSW模块。 1、BSWMD文件:存放arxm文件; 2、Documentation文件:存放关于BswM模块相关配置的说明文档pdf; 3、GeneratorMsr文件:BswM生成相关的工具文件*.jar; 4、Implementation...

    flex完全自学手册-- 电子教案 PPT

    - **Collections**: ArrayList、Vector等集合类,用于管理和操作数据。 8. **Flex与后端通信** - **AMF**: Action Message Format,一种高效的二进制数据格式,用于Flex与服务器之间高效的数据传输。 - **...

    Flex4 CookBook

    类型化的向量(Vector类)是Flex中用于存储同类型数据的集合。它们提供了一种高效且类型安全的方式来管理大量数据,尤其是在需要频繁访问和操作数据集的情况下。例如,创建一个存储字符串的类型化向量可以这样写:`...

    FLEX字体助手.rar

    EOT(Embedded OpenType)主要用于Internet Explorer,WOFF(Web Open Font Format)是现代浏览器广泛支持的标准,TTF(TrueType Font)和SVG(Scalable Vector Graphics)字体则提供了更广泛的兼容性。 3. **...

    Flex3中文帮助---学习好帮手

    8. **图形渲染**:Flex使用Vector图形,可以呈现高质量、高分辨率的图形,同时支持位图图像,使得创建丰富的视觉效果成为可能。 9. **服务连接**:Flex可以与各种后台服务进行通信,包括AMF(Action Message Format...

Global site tag (gtag.js) - Google Analytics