{"id":224,"date":"2016-04-13T13:48:20","date_gmt":"2016-04-13T13:48:20","guid":{"rendered":"https:\/\/www.root42.de\/blog\/?p=224"},"modified":"2017-01-12T07:49:19","modified_gmt":"2017-01-12T07:49:19","slug":"indexed-java-8-enums-with-gaps","status":"publish","type":"post","link":"https:\/\/www.root42.de\/blog\/?p=224","title":{"rendered":"Indexed Java 8 enums with gaps"},"content":{"rendered":"<p>This is an example enum for Java 8 that supports gaps in its indices is relatively fast for enums with a large amount of values:<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\nimport java.util.Arrays;\r\nimport java.util.Map;\r\nimport java.util.stream.Collectors;\r\n\r\npublic enum TestEnum {\r\n   VALUE1( 0 ),\r\n   VALUE2( 2 ),\r\n   VALUE3( 50 );\r\n   \r\n   private final Integer id_;\r\n   private static Map&lt; Integer, TestEnum &gt; values_ = \r\n      Arrays.stream( TestEnum.values() ).collect( Collectors.toMap(e -&gt; e.id_, e -&gt; e) );;\r\n   \r\n   private TestEnum( int i ) { id_ = i; }\r\n   public static TestEnum fromInteger( int i )\r\n   {\r\n      return values_.get( i );\r\n   }\r\n   \r\n}\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>This is an example enum for Java 8 that supports gaps in its indices is relatively fast for enums with a large amount of values: import java.util.Arrays; import java.util.Map; import java.util.stream.Collectors; public enum TestEnum { VALUE1( 0 ), VALUE2( 2 ), VALUE3( 50 ); private final Integer id_; private static Map&lt; Integer, TestEnum &gt; values_ &hellip; <a href=\"https:\/\/www.root42.de\/blog\/?p=224\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Indexed Java 8 enums with gaps&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[110,109],"_links":{"self":[{"href":"https:\/\/www.root42.de\/blog\/index.php?rest_route=\/wp\/v2\/posts\/224"}],"collection":[{"href":"https:\/\/www.root42.de\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.root42.de\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.root42.de\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.root42.de\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=224"}],"version-history":[{"count":2,"href":"https:\/\/www.root42.de\/blog\/index.php?rest_route=\/wp\/v2\/posts\/224\/revisions"}],"predecessor-version":[{"id":238,"href":"https:\/\/www.root42.de\/blog\/index.php?rest_route=\/wp\/v2\/posts\/224\/revisions\/238"}],"wp:attachment":[{"href":"https:\/\/www.root42.de\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=224"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.root42.de\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=224"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.root42.de\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=224"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}