首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

自定义行列与泛型

2012-10-16 
自定义队列与泛型自定义队列与泛型理解?1、自定义队列???? 在java中数组可以被创建为各种数据类型,可以为in

自定义队列与泛型

自定义队列与泛型理解

?

1、自定义队列

???? 在java中数组可以被创建为各种数据类型,可以为int,short等类型,也可以为对象数组,那么就很容易想到用数组来存储程序中的数据。但是数组在创建的过程中,其大小是确定的,而我们在编程时,往往不知道会有多少数组需要存储,此时就需要我们自己来创建某种存储结构,使其能按照程序的需要改变存储空间的大小。在数据结构中,我们了解到有栈及队列,下面介绍一下本菜鸟对自定义队列的理解与实现

?

???? 自定义队列接口中的抽象方法应该包括基本的数据存储操作,包括添加元素,删除元素,查找,取得元素个数......

在接口的实现类中,分别重写抽象方法,本菜鸟以为,自定义队列其本质就是两个数组之间的相互传递,包括值传递和引用传递。

首先创建一个长度为零的源数组src,然后在方法中,再创建一个长度为src.length+1的新数组operation,先对operation数组进行不同的操作,然后将src中的数据赋值给operation,最后再将operation的地址传给src,这样就实现了数据的基本操作。下面以添加为例:

?

public void add(int i){
??//1.新建一个数组,长度是原数组长度+1
??Object[]?operation = new Object[src.length+1];
??//2.将要加入的对象放入新数组的最后位置
??operation[src.length]=i;
??//3.将原数组中的数据放到新数组中,使用系统提供的数组copy方法
??System.arraycopy(src, 0, operation, 0, src.length);
??//指向新建的数组
??src = operation;
?}

?

?

2、泛型

???? 以上队列的缺点就是,一旦创建好了队列的实现类,那么其操作的数据类型就已经确定了,但是在程序中,数据类型有很多种,我们不需要为每一种都创建一个队列,此时,就使用到了jdk5中新的“泛型”来解决。实现效果为只创建一个队列,可以存储各种类型。实现方法为在接口,实现类的名称后面附加所要操作的数据类型,既然我们需要使其可以操作各种各种类型,那么,很显然,指定为所有类的父类Object类既可。例如public class STList<Object> implements NetJavaList<Object>,此类为实现NetJavaList接口,以Object类型数据为操作对象的自定义队列类。

?

?

热点排行