you could have a single array of data objects, and each object has methods for setting & returning the values of Child1 & Child2 (which point to other data objects within your array), the Data element and optionally depending on what you are doing, the parent. This method would also be ideal for keeping things sorted and searchable by the data value. This method is makes it quite easy to keep an ordered list of maintainable data.