我的leader让我定义一个数据结构!
有两个类:Package(属性:name、type、operation等等。方法包括:add,delete,以及对Field字段的添加、删除等功能方法)和Field(属性:name、type、operations等等,方法:add,delete等等)!
一个Package包含多个Field字段(也就是说组合关系!)他的要求是用类似c的struct+动态数组定义一个数据结构!
这里我不知道这个动态数组应该怎么加入!挺基础的一个设计!哪位大侠出出主意?呵呵
[b]问题补充:[/b]
add,delete的作用:在Package对Field字段进行删除或者添加!原则还是Package包含(组合关系)多个Field字段,可以删除,添加某个字段!
我的设想是:Package类的某个属性为Field对象。这样二者就联系起来。 然后在声明一个class FiledCollection , 里面维护一个私有的HashTable, 用这个类的实例来保存一个个的FiledManager实例, Packagemanager也一样, 这样程序整洁, 扩展性强。关键就是这里的FieldCollection怎样写?小弟不懂啊!
给出示例代码吧!
package cainiao;
public class Package {
private String name;
private String type;
private Field field;
public Package(String name, String type, Field field) {
this.name = name;
this.type = type;
this.field = field;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public Field getField() {
return field;
}
public void setField(Field field) {
this.field = field;
}
}
package cainiao;
public class Field {
private String name;
private String type;
private String operation;
public Field(String name, String type, String operation) {
this.name = name;
this.type = type;
this.operation = operation;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getOperation() {
return operation;
}
public void setOperation(String operation) {
this.operation = operation;
}
}
不知描述清楚没?呵呵
[b]问题补充:[/b]
我的设想是:[color=red]Package类的某个属性为Field对象。这样二者就联系起来。 然后在声明一个class FiledCollection , 里面维护一个私有的HashTable, 用这个类的实例来保存一个个的FiledManager实例, Packagemanager也一样, [/color]这样程序整洁, 扩展性强。关键就是这里的FieldCollection怎样写?PackageCollection咋写?我的设想正确不?
[b]问题补充:[/b]
我这个leader说的是struct+动态数组个数据结构定义!我就直接想用arraylist,这是我的个人想法,不过我就是不知道这个动态数组咋加进去?firefly兄你写出点代码出来看看!呵呵,我不知道咋写!他只是让我想。也没提示,说提示就没意思了!呵呵,哪位高人来提示一下!
[b]问题补充:[/b]
hashtable?哦,那是以前的想法!现在就是想用arraylist。
firefly你说的这个[color=red]:[color=orange]Java里面的ArrayList不仅是运行时指定长度,并且可以自增长。因此,说白了,ArrayList就是lz所说的“动态数组”。因此,lz直接使用ArrayList就可以,当然,也可以把ArrayList封装FieldCollection,然后在FieldCollection里面添加相应的add和delete方法。[/color][/color]
你能不能用代码实现啊!我不知如何下手!
[b]问题补充:[/b]
好!你就ok了!多谢二位的回答!