正在加载图片...
Thinking in java 3 Edition public static void main (String[] args)t AssociativeArray map new AssociativeArray (6) map. put ("sky",blue")i map. put("grass green map. put ("ocean","dancing") map. put ("earth","brown")i map. put("sun",warm") map. put("extra","object")i// Past the end f catch(ArrayIndexOutofBounds Exception e) t System. out. println("Too many objects! )i System. out. println(map)i System. out. println(map. get("ocean")) monitor. expect(new String[] t Too m bjects! sky blue", grass green ocean dancing", tree: tall earth b sun warm' dancing 如果是第一次看到这个程序,你会觉得这好像是一个通用工具,应该把它 放进 com bruceeckel, tools。是的,这的确是一个通用工具—太有 用了,以至于java.util提供了好几种关联性数组(其正式的命名是 Map),它们的功能比这可强多了,速度也快了许多。第11章会用大量 的篇幅讲解关联性数组。但是它们太复杂了,所以这里临时作了一个,目 的就是要让你在理解关联性数组的价值的同时,不至于让问题变得太复 杂 在关联性数组中,下标被称为键(key),而与之相关联的对象则被称为值 (vaUe)。这里,我们用“构建一个双元素数组的pair数组,并且用它 来保存键和值”的方法,建立了键值之间的关联。构造函数创建的是一个 定长数组,因此你得用 index来确保它不会过界。put()一对新的键值 时,它会创建一个新的双元素数组,并且把它放到 pairs的下一个空位 里。如果 index大于等于 pairs的长度,它就抛出异常。 要用get()的时候,你只要把key当参数传给它就可以了,它会帮你找 出值,然后把结果返回给你,要是找不到,它就抛异常。get()用了 种你能想到的最慢的算法:从数组的开头,用 equals()作比较。但是 这里更看重简单而不是效率,而且第11章要将的Map己经解决了这个 问题,因此我们不必担心 第9页共17页 www.wgqqh.com/shhgs/tij.html emailshhgsasohu.comThinking in Java 3rd Edition 第 9 页 共 17 页 www.wgqqh.com/shhgs/tij.html email:shhgs@sohu.com public static void main(String[] args) { AssociativeArray map = new AssociativeArray(6); map.put("sky", "blue"); map.put("grass", "green"); map.put("ocean", "dancing"); map.put("tree", "tall"); map.put("earth", "brown"); map.put("sun", "warm"); try { map.put("extra", "object"); // Past the end } catch(ArrayIndexOutOfBoundsException e) { System.out.println("Too many objects!"); } System.out.println(map); System.out.println(map.get("ocean")); monitor.expect(new String[] { "Too many objects!", "sky : blue", "grass : green", "ocean : dancing", "tree : tall", "earth : brown", "sun : warm", "dancing" }); } } ///:~ 如果是第一次看到这个程序,你会觉得这好像是一个通用工具,应该把它 放进 com.bruceeckel.tools。是的,这的确是一个通用工具——太有 用了,以至于 java.util 提供了好几种关联性数组(其正式的命名是 Map),它们的功能比这可强多了,速度也快了许多。第 11 章会用大量 的篇幅讲解关联性数组。但是它们太复杂了,所以这里临时作了一个,目 的就是要让你在理解关联性数组的价值的同时,不至于让问题变得太复 杂。 在关联性数组中,下标被称为键(key),而与之相关联的对象则被称为值 (value) 。这里,我们用“构建一个双元素数组的 pair 数组,并且用它 来保存键和值”的方法,建立了键值之间的关联。构造函数创建的是一个 定长数组,因此你得用 index 来确保它不会过界。put( )一对新的键值 时,它会创建一个新的双元素数组,并且把它放到 pairs 的下一个空位 里。如果 index 大于等于 pairs 的长度,它就抛出异常。 要用 get( )的时候,你只要把 key 当参数传给它就可以了,它会帮你找 出值,然后把结果返回给你,要是找不到,它就抛异常。get( )用了一 种你能想到的最慢的算法:从数组的开头,用 equals( )作比较。但是 这里更看重简单而不是效率,而且第 11 章要将的 Map 已经解决了这个 问题,因此我们不必担心
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有