日期:2014-05-20  浏览次数:20816 次

这样一个小功能该如何设计?不要代码,求大家给思路
Java code
学院代码    学院名称    学院简称
01    会计学院    01院
02    工商管理学院    02院
03    经贸学院    03院
04    信息科学学院    04院
05    管理科学与工程学院    05院
06    机电工程学院    06院
07    外语系    07系
08    法律系    08系
09    土木建筑工程学院    09院
10    计算机科学与应用系    10系
11    数理系    11系
12    人文社会科学系    12系
13    电子通信工程系    13系
14    艺术设计系    14系
15    航空工程系    15系
20    软件职业技术学院    软件院
21    体育教学部    体育部
22    对外合作办学    国际院
23    校团委    团委
24    学生处    学生处
25    继续教育学院    成教院

上述格式的数据,我需要把它们存储到一个类中,然后这个类提供相关查询方法,也就是给定一个内容,查询出与之匹配的相关内容。
例如,给定“艺术设计系”,可以查出他的简称是“14系”
给定“团委”,可以查出他的学院代码是“23”
总之,给定任意一个内容,其他两个都应该能查出来

问:
相关数据在类的内部应该用什么样的数据结构来存储,写出的代码会比较优雅?查询效率能稍微高一些就更好了。

------解决方案--------------------
就这么点点数据用什么无所谓
用个数组存都行。
每次遍历查找。

想稍微快点就用hashmap。
------解决方案--------------------
主要是写出来要优雅...
------解决方案--------------------
25行数据,用什么都不会慢到哪的,效率看不出来差别。就放到map里,数组都可以。
------解决方案--------------------
探讨
引用:

25行数据,用什么都不会慢到哪的,效率看不出来差别。就放到map里,数组都可以。


数据不止25行,上述只是范例
另外,用map的话,要用6个map吧(3种组合,双向查询),感觉写出来好丑陋

------解决方案--------------------
我觉得用两个就可以了,比如map(学院代码,map(学院名称,学院简称))
 这样可以吧
------解决方案--------------------
这是要设计数据库吗?
------解决方案--------------------
探讨
我觉得用两个就可以了,比如map(学院代码,map(学院名称,学院简称))
这样可以吧

------解决方案--------------------
探讨
引用:
我觉得用两个就可以了,比如map(学院代码,map(学院名称,学院简称))
这样可以吧

这个不错

------解决方案--------------------
探讨
我觉得用两个就可以了,比如map(学院代码,map(学院名称,学院简称))
这样可以吧

------解决方案--------------------
也可以通过value找key啊
------解决方案--------------------
探讨
也可以通过value找key啊

------解决方案--------------------
这种小数据量挺适合用内存数据库的
------解决方案--------------------
map(学院代码,学院名称)
map(学院名称,学院简称)
------解决方案--------------------
这个用数据库

用的时候查询多快啊
------解决方案--------------------
将3列数据按统一顺序分别存放在3个ArrayList中,每次对某个字段进行遍历查询并记录匹配值位置,在获得另一个值时,只要给出位置就行能获得相对应值。
------解决方案--------------------
Java code
Map<String, String> _dataMap1 = new HashMap<String, String>();
        
        Map<String, String> _dataMap2 = new HashMap<String, String>();

        _dataMap1.put("01", "会计学院");
        _dataMap2.put("01", "01院");

        _dataMap1.put("02", "工商管理学院");
        _dataMap2.put("02", "02院");

        _dataMap1.put("03", "经贸学院");
        _dataMap2.put("03", "03院");

        _dataMap1.put("04", "信息科学学院");
        _dataMap2.put("04", "04院");

        _dataMap1.put("05", "管理科学与工程学院");
        _dataMap2.put("05", "05院");