Map.Entry

你是否已经对每次从Map中取得关键字然后再取得相应的值感觉厌倦?使用Map.Entry类,你可以得到在同一时间得到所有的信息。标准的Map访问方法如下:

Set keys = map.keySet( );if(keys != null) {Iterator iterator = keys.iterator( );while(iterator.hasNext( )) {Object key = iterator.next( );Object value = map.get(key);;....;}} 

然后,这个方法有一个问题。从Map中取得关键字之后,我们必须每次重复返回到Map中取得相对的值,这是很繁琐和费时的。

幸运的是,这里有一个更加简单的途径。Map类提供了一个称为entrySet()的方法,这个方法返回一个Map.Entry实例化后的对象集。接着,Map.Entry类提供了一个getKey()方法和一个getValue()方法,因此,上面的代码可以被组织得更符合逻辑。举例如下:

Set entries = map.entrySet( );if(entries != null) {Iterator iterator = entries.iterator( );while(iterator.hasNext( )) {Map.Entry entry =iterator.next( );Object key = entry.getKey( );Object value = entry.getValue();;....}} 

尽管增加了一行代码,我们却省略了许多对Map不必要的“get”调用。同时,提供给开发人员一个同时保持了关键字和其对应的值的类。Map.Entry同时也提供了一个setValue()方法,程序员可以使用它修改map里面的值。
public static final Map<String, Color> PRESET_COLOR_MAP = Map.ofEntries( Map.entry("aliceBlue", new Color(240, 248, 255)), Map.entry("antiqueWhite", new Color(250, 235, 215)), Map.entry("aqua", new Color(0, 255, 255)), Map.entry("aquamarine", new Color(127, 255, 212)), Map.entry("azure", new Color(240, 255, 255)), Map.entry("beige", new Color(245, 245, 220)), Map.entry("bisque", new Color(255, 228, 196)), Map.entry("black", new Color(0, 0, 0)), Map.entry("blanchedAlmond", new Color(255, 235, 205)), Map.entry("blue", new Color(0, 0, 255)), Map.entry("blueViolet", new Color(138, 43, 226)), Map.entry("brown", new Color(165, 42, 42)), Map.entry("burlyWood", new Color(222, 184, 135)), Map.entry("cadetBlue", new Color(95, 158, 160)), Map.entry("chartreuse", new Color(127, 255, 0)), Map.entry("chocolate", new Color(210, 105, 30)), Map.entry("coral", new Color(255, 127, 80)), Map.entry("cornflowerBlue", new Color(100, 149, 237)), Map.entry("cornsilk", new Color(255, 248, 220)), Map.entry("crimson", new Color(220, 20, 60)), Map.entry("cyan", new Color(0, 255, 255)), Map.entry("darkBlue", new Color(0, 0, 139)), Map.entry("darkCyan", new Color(0, 139, 139)), Map.entry("darkGoldenrod", new Color(184, 134, 11)), Map.entry("darkGray", new Color(169, 169, 169)), Map.entry("darkGreen", new Color(0, 100, 0)), Map.entry("darkKhaki", new Color(189, 183, 107)), Map.entry("darkMagenta", new Color(139, 0, 139)), Map.entry("darkOliveGreen", new Color(85, 107, 47)), Map.entry("darkOrange", new Color(255, 140, 0)), Map.entry("darkOrchid", new Color(153, 50, 204)), Map.entry("darkRed", new Color(139, 0, 0)), Map.entry("darkSalmon", new Color(233, 150, 122)), Map.entry("darkSeaGreen", new Color(143, 188, 143)), Map.entry("darkSlateBlue", new Color(72, 61, 139)), Map.entry("darkSlateGray", new Color(47, 79, 79)), Map.entry("darkTurquoise", new Color(0, 206, 209)), Map.entry("darkViolet", new Color(148, 0, 211)), Map.entry("deepPink", new Color(255, 20, 147)), Map.entry("deepSkyBlue", new Color(0, 191, 255)), Map.entry("dimGray", new Color(105, 105, 105)), Map.entry("dodgerBlue", new Color(30, 144, 255)), Map.entry("firebrick", new Color(178, 34, 34)), Map.entry("floralWhite", new Color(255, 250, 240)), Map.entry("forestGreen", new Color(34, 139, 34)), Map.entry("fuchsia", new Color(255, 0, 255)), Map.entry("gainsboro", new Color(220, 220, 220)), Map.entry("ghostWhite", new Color(248, 248, 255)), Map.entry("gold", new Color(255, 215, 0)), Map.entry("goldenrod", new Color(218, 165, 32)), Map.entry("gray", new Color(128, 128, 128)), Map.entry("green", new Color(0, 128, 0)), Map.entry("greenYellow", new Color(173, 255, 47)), Map.entry("honeydew", new Color(240, 255, 240)), Map.entry("hotPink", new Color(255, 105, 180)), Map.entry("indianRed", new Color(205, 92, 92)), Map.entry("indigo", new Color(75, 0, 130)), Map.entry("ivory", new Color(255, 255, 240)), Map.entry("khaki", new Color(240, 230, 140)), Map.entry("lavender", new Color(230, 230, 250)), Map.entry("lavenderBlush", new Color(255, 240, 245)), Map.entry("lawnGreen", new Color(124, 252, 0)), Map.entry("lemonChiffon", new Color(255, 250, 205)), Map.entry("lightBlue", new Color(173, 216, 230)), Map.entry("lightCoral", new Color(240, 128, 128)), Map.entry("lightCyan", new Color(224, 255, 255)), Map.entry("lightGoldenrodYellow", new Color(250, 250, 210)), Map.entry("lightGray", new Color(211, 211, 211)), Map.entry("lightGreen", new Color(144, 238, 144)), Map.entry("lightPink", new Color(255, 182, 193)), Map.entry("lightSalmon", new Color(255, 160, 122)), Map.entry("lightSeaGreen", new Color(32, 178, 170)), Map.entry("lightSkyBlue", new Color(135, 206, 250)), Map.entry("lightSlateGray", new Color(119, 136, 153)), Map.entry("lightSteelBlue", new Color(176, 196, 222)), Map.entry("lightYellow", new Color(255, 255, 224)), Map.entry("lime", new Color(0, 255, 0)), Map.entry("limeGreen", new Color(50, 205, 50)), Map.entry("linen", new Color(250, 240, 230)), Map.entry("magenta", new Color(255, 0, 255)), Map.entry("maroon", new Color(128, 0, 0)), Map.entry("mediumAquamarine", new Color(102, 205, 170)), Map.entry("mediumBlue", new Color(0, 0, 205)), Map.entry("mediumOrchid", new Color(186, 85, 211)), Map.entry("mediumPurple", new Color(147, 112, 219)), Map.entry("mediumSeaGreen", new Color(60, 179, 113)), Map.entry("mediumSlateBlue", new Color(123, 104, 238)), Map.entry("mediumSpringGreen", new Color(0, 250, 154)), Map.entry("mediumTurquoise", new Color(72, 209, 204)), Map.entry("mediumVioletRed", new Color(199, 21, 133)), Map.entry("midnightBlue", new Color(25, 25, 112)), Map.entry("mintCream", new Color(245, 255, 250)), Map.entry("mistyRose", new Color(255, 228, 225)), Map.entry("moccasin", new Color(255, 228, 181)), Map.entry("navajoWhite", new Color(255, 222, 173)), Map.entry("navy", new Color(0, 0, 128)), Map.entry("oldLace", new Color(253, 245, 230)), Map.entry("olive", new Color(128, 128, 0)), Map.entry("oliveDrab", new Color(107, 142, 35)), Map.entry("orange", new Color(255, 165, 0)), Map.entry("orangeRed", new Color(255, 69, 0)), Map.entry("orchid", new Color(218, 112, 214)), Map.entry("paleGoldenrod", new Color(238, 232, 170)), Map.entry("paleGreen", new Color(152, 251, 152)), Map.entry("paleTurquoise", new Color(175, 238, 238)), Map.entry("paleVioletRed", new Color(219, 112, 147)), Map.entry("papayaWhip", new Color(255, 239, 213)), Map.entry("peachPuff", new Color(255, 218, 185)), Map.entry("peru", new Color(205, 133, 63)), Map.entry("pink", new Color(255, 192, 203)), Map.entry("plum", new Color(221, 160, 221)), Map.entry("powderBlue", new Color(176, 224, 230)), Map.entry("purple", new Color(128, 0, 128)), Map.entry("red", new Color(255, 0, 0)), Map.entry("rosyBrown", new Color(188, 143, 143)), Map.entry("royalBlue", new Color(65, 105, 225)), Map.entry("saddleBrown", new Color(139, 69, 19)), Map.entry("salmon", new Color(250, 128, 114)), Map.entry("sandyBrown", new Color(244, 164, 96)), Map.entry("seaGreen", new Color(46, 139, 87)), Map.entry("seashell", new Color(255, 245, 238)), Map.entry("sienna", new Color(160, 82, 45)), Map.entry("silver", new Color(192, 192, 192)), Map.entry("skyBlue", new Color(135, 206, 235)), Map.entry("slateBlue", new Color(106, 90, 205)), Map.entry("slateGray", new Color(112, 128, 144)), Map.entry("snow", new Color(255, 250, 250)), Map.entry("springGreen", new Color(0, 255, 127)), Map.entry("steelBlue", new Color(70, 130, 180)), Map.entry("tan", new Color(210, 180, 140)), Map.entry("teal", new Color(0, 128, 128)), Map.entry("thistle", new Color(216, 191, 216)), Map.entry("tomato", new Color(255, 99, 71)), Map.entry("turquoise", new Color(64, 224, 208)), Map.entry("violet", new Color(238, 130, 238)), Map.entry("wheat", new Color(245, 222, 179)), Map.entry("white", new Color(255, 255, 255)), Map.entry("whiteSmoke", new Color(245, 245, 245)), Map.entry("yellow", new Color(255, 255, 0)), Map.entry("yellowGreen", new Color(154, 205, 50)) ); 转成 switch case
最新发布
07-09
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值