老长时间没有写blog,只是最近实在是比较忙 -_-!
今天写一下关于数据结构的设计,主要也是为了提示自己一下。
通常我们在设计数据结构的时候都是喜欢设计适合自己使用的结构类型,比如一个总的单例形式的Info,相当于程
序的数据层,下面有个AList,AList
为自己设计的AInfo的集合对象,然后现在有一个BInfo,他是隶属于AInfo的,每个Ainfo中有不同的BInfo。
我们有两种设计他的方法:
1.在总的Info中设计一个BList,用于存放BInfo。
2.在AInfo中设计一个BList,用于存放BInfo。
第一种方法应该为大众采用的方法,这样的好处就是提取保存方便,不需要费神直接就可以得到BList,但是这样设
计数据结构的坏处就是数据结构混乱,而且在取AInfo中的BInfo的时候需要对Blist进行遍历判断该项BInfo是否属于
AInfo。其实我想这种设计方式最大的缺陷应该是看不到数据层次,对于以后数据的扩展带来很大的不方便性,可能
今天用的很爽,但是如果数据量大了,坏处就会出来。
采用第二种方法,就是把Binfo直接集合成一个数据形式存放在AInfo中,但是这里有一个窍门,存放BInfo最好采用
JAVA本身自带的数据结构,比如Hashtabel、Vector等,因为如果自己创建一个BList对BInfo进行保存在AInfo的时
候,此时会很麻烦,需要重新的设置整个AList保存在数据层中,因为他的对象变了.....因此要new一个AList,一个
个的修改里面的AInfo的属性(也就是修改里面的BList),用原来的都不行~~~这点不知道为什么,因为如果改变之
后就取不到值了,所以我想应该是对象变化了的缘故....
如果采用JAVA自带的数据集合类型进行存储BInfo,比如设置一个Hashtable进行放置....,在进行数据重新的处理的
时候,只需要对从Info中取出的AList直接处理即可,这样就能变动整个数据层了。
总结一下,在设计数据结构的时候我们应该多想一下数据结构的扩展性,同时如果没有必要用新的数据集合那就尽
量的采用JAVA自身带的数据集合,这样存放数据的时候会更加的方便^_^
摸索了半天得出了结论.....写下来时时提醒自己~~~~