java数据结构来模拟数据树
我需要帮助定义使用的方法.我有一个SOAP响应给我一个xml文件.我需要最终在屏幕上显示3个相关列表.当您在第一个列表中选择一个项目时,相应的选项将出现在第二个列表等上.我只对如何在从xml流中提取数据后有效组织数据感兴趣.这是一个xml片段:
<device> <manufacturer>Acer</manufacturer> <model>A1</model> <platform>Android</platform> </device> <device> <manufacturer>Acer</manufacturer> <model>A1</model> <platform>J2ME</platform> </device> <device> <manufacturer>Acer</manufacturer> <model>A2</model> <platform>Android</platform> </device> <device> <manufacturer>Samsung</manufacturer> <model>E400</model> <platform>Android</platform> </device> 所以,我会有像manufacturer = {“Acer”,“Acer”,“Samsung”},model = {“A1”,“A1”,“A2”,“E400”},platform = { “机器人”,“J2ME”,“机器人”,“机器人”}. 有趣的是:我需要按摩数据,以便我可以使用它来显示3个列表.选择Android后,Acer和三星即可上市.如果选择Acer,则可以使用型号A1和A2.所有列表都需要排序.目前我正在使用Sax将数据解析为对象向量,包含制造商,模型,平台字段.我能想到的只是一个类似TreeMap的结构.任何建议,将不胜感激. 解决方法
我认为这里不需要层次结构.因为用户可以选择第一平台或制造商.如果他选择第一个Android,则要显示3个设备.如果他选择第一个宏基,他会看到2个设备.
所以,我的建议如下. >使用属性制造商,型号,平台创建类设备. 像这样: for(Device d : devices) { Collection<Device> selected = manufacturerIndex.get(d.getManufacturer()); if (selected == null) { selected = new ArrayList<Device>(); manufactuerIndex.put(d.getManufacturer(),selected); } selected.add(d); // the same for the second index } 现在您可以使用数据结构. manufactuerIndex.get(“诺基亚”) – >返回所有诺基亚设备. 注意这个数据结构是可扩展的.您始终可以根据需要添加任意数量的索引. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- Java 9中如何对IntegerCache进行修改详解
- Spring Boot中整合Spring Security并自定义验证代码实例
- java-将不同的csv文件另存为单个excel工作簿中的不同工作表
- Java实现的各种排序算法(包括冒泡,快排等)
- java – 线程使用的System.setProperty会影响与外部网络元素
- 如何在java中使用Http,Socks4和Socks5代理?
- java编程之递归算法总结
- java – Synchronized vs ReadWriteLock性能
- java – 使用apache commons配置xpath查询带有属性的空XML
- 如何用java中的科学符号表达数字?